Selective Activation of Autonomous Vehicles

ABSTRACT

Systems and methods for controlling autonomous vehicle activation are provided. In one example embodiment, a computing system can obtain data associated with an autonomous vehicle that is offline with a service entity. The computing system can obtain data indicative of a geographic area associated with the service entity. The computing system can determine that the autonomous vehicle is to go online with the service entity within the geographic area based at least in part on the data associated with the autonomous vehicle and the data indicative of the geographic area. The computing system can communicate data indicative of an activation assignment associated with the autonomous vehicle. The activation assignment can be indicative of at least a portion of the geographic area within which the autonomous vehicle is to go online with the service entity.

PRIORITY CLAIM

The present application is based on and claims priority to U.S.Provisional Application 62/672,245 having a filing date of May 16, 2018,and U.S. Provisional Application 62/729,071 having a filing date of Sep.10, 2018, all of which are incorporated by reference herein.

FIELD

The present disclosure relates generally to controlling the activationof autonomous vehicles.

BACKGROUND

An autonomous vehicle can be capable of sensing its environment andnavigating with little to no human input. In particular, an autonomousvehicle can observe its surrounding environment using a variety ofsensors and can attempt to comprehend the environment by performingvarious processing techniques on data collected by the sensors. Givenknowledge of its surrounding environment, the autonomous vehicle cannavigate through such surrounding environment.

SUMMARY

Aspects and advantages of embodiments of the present disclosure will beset forth in part in the following description, or may be learned fromthe description, or may be learned through practice of the embodiments.

One example aspect of the present disclosure is directed to a computingsystem. The computing system includes one or more processors and one ormore tangible, non-transitory, computer readable media that collectivelystore instructions that when executed by the one or more processorscause the computing system to perform operations. The operations includeobtaining data associated with an autonomous vehicle that is offlinewith a service entity. The operations include obtaining data associatedwith a geographic area associated with the service entity. Theoperations include determining that the autonomous vehicle is to goonline with the service entity within the geographic area based at leastin part on the data associated with the autonomous vehicle and the dataassociated with the geographic area. The operations includecommunicating data indicative of an activation assignment associatedwith the autonomous vehicle. The activation assignment is indicative ofat least a portion of the geographic area within which the autonomousvehicle is to go online with the service entity.

Another example aspect of the present disclosure is directed to acomputer-implemented method for controlling autonomous vehicleactivation. The method includes obtaining, by a computing system thatincludes one or more computing devices, data associated with one or moreautonomous vehicles that are offline with a service entity. The methodincludes obtaining, by the computing system, data associated with one ormore geographic areas associated with the service entity. The methodincludes determining, by the computing system, a first geographic areawithin which a first autonomous vehicle is to go online with the serviceentity and a first time parameter indicative of a time at which thefirst autonomous vehicle is to go online with the service entity basedat least in part on the data associated with the one or more autonomousvehicles and the data associated with the one or more geographic areas.The method includes communicating, by the computing system, dataindicative of a first activation assignment associated with the firstautonomous vehicle. The first activation assignment is indicative of atleast a portion of the first geographic area and the first timeparameter.

Yet another example aspect of the present disclosure is directed to oneor more tangible, non-transitory, computer-readable media thatcollectively store instructions that, when executed by one or moreprocessors, cause the one or more processors to perform operations. Theoperations include obtaining data associated with a plurality ofautonomous vehicles that are offline with a service entity. Theoperations include obtaining data indicative of a geographic areaassociated with the service entity. The operations include determiningthat at least a subset of the plurality of autonomous vehicles are to goonline with the service entity within the geographic area based at leastin part on the data associated with the plurality of autonomous vehicleand the data indicative of the geographic area. The operations includecommunicating data indicative of one or more activation assignmentsassociated with at least the subset of the plurality of autonomousvehicles. The one or more activation assignments are indicative of atleast a portion of the geographic area.

Other example aspects of the present disclosure are directed to systems,methods, vehicles, apparatuses, tangible, non-transitorycomputer-readable media, and memory devices for controlling thepositioning and timing of the activation of autonomous vehicles with aservice entity.

These and other features, aspects and advantages of various embodimentswill become better understood with reference to the followingdescription and appended claims. The accompanying drawings, which areincorporated in and constitute a part of this specification, illustrateembodiments of the present disclosure and, together with thedescription, serve to explain the related principles.

BRIEF DESCRIPTION OF THE DRAWINGS

Detailed discussion of embodiments directed to one of ordinary skill inthe art are set forth in the specification, which makes reference to theappended figures, in which:

FIG. 1 depicts an example autonomous vehicle computing system accordingto example embodiments of the present disclosure;

FIG. 2 depicts example service entity network(s) for an autonomousvehicle according to example embodiments of the present disclosure;

FIG. 3 depicts an example operations computing system of a serviceentity according to example embodiments of the present disclosure;

FIG. 4 depicts example geographic areas according to example embodimentsof the present disclosure;

FIG. 5 depicts a flow diagram of an example method for autonomousvehicles activation according to example embodiments of the presentdisclosure; and

FIG. 6 depicts example system components according to exampleembodiments of the present disclosure.

DETAILED DESCRIPTION

Reference now will be made in detail to embodiments, one or moreexample(s) of which are illustrated in the drawings. Each example isprovided by way of explanation of the embodiments, not limitation of thepresent disclosure. In fact, it will be apparent to those skilled in theart that various modifications and variations can be made to theembodiments without departing from the scope or spirit of the presentdisclosure. For instance, features illustrated or described as part ofone embodiment can be used with another embodiment to yield a stillfurther embodiment. Thus, it is intended that aspects of the presentdisclosure cover such modifications and variations.

Example aspects of the present disclosure are directed to improvedtechniques for decreasing potential idle data usage and downtime of anautonomous vehicle. For instance, an autonomous vehicle can be utilizedto perform vehicle services (e.g., transportation services, etc.). Thevehicle services can be offered to users by a service entity (e.g., acompany that offers and coordinates the provision of vehicle services).An autonomous vehicle can be activated to go online with the serviceentity's network to become available to perform the vehicle service(s)of that service entity by obtaining vehicle service assignments (e.g.,trip requests) from the service entity. However, once the autonomousvehicle goes online, there may be a delay until the autonomous vehiclereceives a vehicle service assignment from the service entity. When itis not addressing a vehicle service assignment, an autonomous vehiclecan be in an idle state. Even in the idle state, an autonomous vehiclecan continue to acquire sensor data to remain cognizant of itsenvironment (e.g., whether the vehicle is parked, moving, etc.). Thiscan cause the autonomous vehicle to waste its processing, data storage,and power resources while it is not performing a vehicle service and,ultimately, increase vehicle downtime (e.g., as the vehicle is forced totravel to a service depot for data downlinking, re-charging, etc.).

The systems and methods of the present disclosure can help strategicallyposition autonomous vehicles while they are offline in order to reducethe potential for such resource waste. For instance, a computing system(e.g., of a service entity) can identify an autonomous vehicle that isoffline with a service entity. The computing system can identify ageographic area that is predicted to experience an imbalance in a numberof vehicles associated with the geographic area. The imbalance can be adeficit in the number of vehicles that are available to perform vehicleservices as compared to a demand for the vehicle service(s). Thecomputing system can instruct the autonomous vehicle to re-positionitself to the imbalanced geographic area while the autonomous vehicle isoffline. Moreover, the computing system can indicate a time at which theautonomous vehicle is to go online with the service entity. This timecan correspond to a future time when the geographic area is predicted toexperience the vehicle imbalance. In this way, the autonomous vehiclecan be re-positioned while it is offline so that it is more likely toreceive vehicle service assignments when it is activated with theservice entity, thereby reducing the amount of potential idle data usageand vehicle downtime.

More particularly, an autonomous vehicle (e.g., ground-based vehicle,etc.) can include various systems and devices configured to control theoperation of the vehicle. For example, an autonomous vehicle can includean onboard vehicle computing system (e.g., located on or within theautonomous vehicle) that is configured to operate the autonomousvehicle. The vehicle computing system can obtain sensor data fromsensor(s) onboard the vehicle (e.g., cameras, LIDAR, RADAR, etc.),attempt to comprehend the vehicle's surrounding environment byperforming various processing techniques on the sensor data, andgenerate an appropriate motion plan through the vehicle's surroundingenvironment. Moreover, an autonomous vehicle can include acommunications system that can allow the autonomous vehicle tocommunicate with a computing system that is remote from the autonomousvehicle such as, for example, that of a service entity.

An autonomous vehicle can perform vehicle services for one or moreservice entities. A service entity can be associated with the provisionof one or more vehicle services. For example, a service entity can be anindividual, a group of individuals, a company (e.g., a business entity,organization, etc.), a group of entities (e.g., affiliated companies),and/or another type of entity that offers and/or coordinates theprovision of one or more vehicle services to one or more users. Forexample, a service entity can offer vehicle service(s) to users via asoftware application (e.g., on a user computing device), via a website,and/or via other types of interfaces that allow a user to request avehicle service. The vehicle services can include user transportationservices (e.g., by which the vehicle transports user(s) from onelocation to another), delivery services (e.g., by which a vehicledelivers item(s) to a requested destination location), courier services(e.g., by which a vehicle retrieves item(s) from a requested originlocation and delivers the item to a requested destination location),and/or other types of services. In some implementations, a serviceentity can utilize non-autonomous vehicles (e.g., human-driven vehicles)to perform one or more of its vehicle services.

The service entity can utilize an operations computing system tocoordinate one or more vehicles (e.g., non-autonomous vehicles,autonomous vehicles, etc.) to perform vehicle services for a user. Forinstance, the user can provide (e.g., via a user device) a request for avehicle service to an operations computing system associated with theservice entity. The request can indicate the type of vehicle servicethat the user desires (e.g., a user transportation service, a deliveryservice, a courier service, etc.), one or more locations (e.g., anorigin, destination, etc.), timing constraints (e.g., pick-up time,drop-off time, deadlines, etc.), a number of user(s) and/or items to betransported in the vehicle, other service parameters (e.g., a need forhandicap access, handle with care instructions, etc.), and/or otherinformation. The operations computing system of the service entity canprocess the request and generate a vehicle service assignment indicativeof the requested vehicle service (e.g., type of service, associateduser(s), location(s), timeframe(s), etc.).

The operations computing system can identify one or more vehicles thatmay be able to accept the vehicle service assignment and perform therequested vehicle services for the user. For instance, the operationscomputing system can identify which autonomous vehicle(s) are onlinewith the service entity. An autonomous vehicle can go online with aservice entity such that the autonomous vehicle is available to performthe vehicle service(s) of the service entity (e.g., available toobtain/accept vehicle service assignment(s)). For example, the vehiclecomputing system can launch an onboard vehicle client (e.g., software,firmware, etc.) associated with the service entity and open acommunication session with the service entity's operations computingsystem. The vehicle computing system can communicate that the autonomousvehicle is available to perform a vehicle service for the service entityvia the communication session (e.g., using an API associated with theservice entity). Alternatively, an autonomous vehicle can be offlinewith a service entity such that the autonomous vehicle is unavailable toperform the vehicle service(s) of the service entity (e.g., unavailableto obtain/accept vehicle service assignment(s)). While offline, however,an autonomous vehicle may still be capable of obtaining information froma service entity, as further described herein.

A service entity may have varying levels of control over the autonomousvehicles that perform its vehicle services. In some implementations, anautonomous vehicle can be included in the service entity's dedicatedsupply of autonomous vehicles. The dedicated supply can includeautonomous vehicles that are owned, leased, or otherwise exclusivelyavailable to the service entity (e.g., for the provision of its vehicleservice(s), other tasks, etc.) for at least some period of time. Thiscan include, for example, an autonomous vehicle that is associated witha third party vehicle provider (e.g., an owner, a manufacturer, avendor, a manager, a coordinator, a handler, etc.), but that is onlineonly with that service entity (e.g., available to accept vehicle serviceassignments for only that service entity) for a certain time period(e.g., a day, week, etc.). In some implementations, an autonomousvehicle can be included in the service entity's non-dedicated supply ofautonomous vehicles. This can include autonomous vehicles that are notexclusively available to the service entity. For example, an autonomousvehicle that is concurrently online with two different service entitiesso that the autonomous vehicle may accept vehicle service assignmentsfrom either service entity may be considered to be part of anon-dedicated supply of autonomous vehicles. In some implementations,whether an autonomous vehicle is considered to be part of the dedicatedsupply or the non-dedicated supply can be based, for example, on anagreement between the service entity and a vehicle provider associatedwith the autonomous vehicle.

A service entity can seek to decrease the amount of time that anautonomous vehicle may be idle when the autonomous vehicle initiallygoes online with the service entity. To do so, the operations computingsystem can obtain data associated with autonomous vehicle(s) that areoffline with the service entity. These can be autonomous vehicle(s) thatare a part of the service entity's dedicated supply or non-dedicatedsupply. Moreover, these can be autonomous vehicle(s) that are includedin the vehicle fleet of a vehicle provider. The data associated withthese offline autonomous vehicle(s) can be indicative of: an autonomousvehicle's current and/or future planned location (e.g., where theautonomous vehicle is parked while offline, where the autonomous vehicleis scheduled to be when it goes online, etc.), the vehicle providerassociated with an autonomous vehicle, a preference of the vehicleservice(s) that an autonomous vehicle is configured to perform, whetherthe autonomous vehicle is included in the dedicated or non-dedicatedsupply of the service entity, one or more geographic constraints (e.g.,restrictions on where an autonomous vehicle can travel), an autonomousvehicle's performance rating (and/or the rating of an associated vehicleprovider), a configured preference of an autonomous vehicle toparticipate in vehicle service pooling, one or more vehiclecharacteristics of an autonomous vehicle (e.g., make, model, type,shape, size, etc.), and/or other information. The operations computingsystem can utilize this data to identify which autonomous vehicles areavailable for offline re-positioning, to help reduce the potential forthe autonomous vehicle to waste its resources when it goes online (e.g.,while in an idle state).

To help determine where an autonomous vehicle may be re-positioned, theservice entity's operations computing system can obtain data associatedwith one or more geographic areas. These can be geographic areasassociated with the service entity (e.g., area(s) in which the serviceentity offers vehicle service(s), area(s) in which previous vehicleservice assignments have been completed, area(s) in which future vehicleservice requests are predicted, etc.). The data associated with ageographic area can be indicative of, for example, the past, present,and/or future (e.g., known and/or predicted): demand for vehicleservices associated with the geographic area (e.g., the number ofservice requests that begin, end, have an intermediate location within,and/or involve the traversal of the geographic area, etc.), the supplyof vehicles within the geographic area (e.g., the number ofnon-autonomous vehicles, the number of autonomous vehicles, etc.),events associated with the geographic area (e.g., concerts, sportingevents, performances, etc.), a utilization rate of autonomous vehicleswithin the geographic area, weather conditions associated with thegeographic area (e.g., rain, snow, high/low temperatures, etc.), and/orother information. In some implementations, the operations computingsystem can utilize past and/or current data to project future parametersassociated with the geographic area. For example, the operationscomputing system can predict a future demand for vehicle services withinthe geographic area based at least in part on a past and/or currentdemand for vehicle services with like circumstances (e.g., similar timeof day, season, occurrence, weather, etc.). The data associated with thegeographic area can also be indicative of whether autonomous vehiclesare permitted and/or capable of operating within the area. In someimplementations, the data associated with the geographic area can beindicative of one or more conditions imposed on non-autonomous vehicles(e.g., service conditions imposed by the service entity within the area,etc.). This can include, for example, constraints on the types ofvehicle services that non-autonomous vehicles can provide and/orconstraints on the geographic boundaries within which the non-autonomousvehicles can travel. In some implementations, the data associated withthe geographic area(s) can include time specific information associatedwith a geographic area. The time specific information can indicate, forexample, times at which it may be difficult for an autonomous vehicle tooperate within the geographic area (e.g., power blackouts typicallyoccur between 12 AM to 5 AM, etc.).

The operations computing system can identify which geographic area(s)have a vehicle imbalance based at least in part on the collected dataassociated with the geographic area(s). This can include a presentand/or future imbalance in the number of vehicles associated with thegeographic area. The vehicles associated with a geographic area can bevehicles that are available to perform vehicle service(s) that begin,traverse, and/or end within the geographic area. This can includenon-autonomous vehicles and/or autonomous vehicles. The vehicleimbalance can include, for example, a surplus or a deficit in the numberof vehicles (e.g., non-autonomous vehicles and/or autonomous vehicles)as compared to a demand for the one or more vehicles services. Theoperations computing system can determine that a geographic area has animbalance in the number of vehicles associated with the geographic areabased at least in part on the data associated with the geographic area.By way of example, the operations computing system can determine thatthere should be an increase in the number of vehicles within thegeographic area in the event that the current and/or future demand forvehicle service(s) outweighs the current and/or future supply ofvehicles within the geographic area (e.g., a deficit). As such, thesegeographic areas represent opportunities of where the supply ofautonomous vehicles can be adjusted to increase the opportunity for anautonomous vehicle to receive vehicle service assignments.

The operations computing system can determine where an offlineautonomous vehicle should be activated based at least in part on thedata associated with the autonomous vehicle(s) and the data associatedwith the geographic area(s). Such determination can be made based atleast in part on heuristics and/or machine-learned models (e.g., trainedto recommend geographic areas and/or autonomous vehicles, etc.). Forinstance, the operations computing system can determine a firstgeographic area within which a first autonomous vehicle is to go onlinewith the service entity. The first geographic area can be a geographicarea that is predicted to have a vehicle imbalance at a future time. Forexample, the first geographic area can be an airport facility. Theoperations computing system can predict that the airport facility willhave a deficit in the number of non-autonomous vehicles (e.g.,human-driven vehicles) that are within the airport facility as comparedto the demand for transportation services. The operations computingsystem can determine that the supply of non-autonomous vehicles shouldbe supplemented with one or more autonomous vehicles. Thus, theoperations computing system can determine that the first autonomousvehicle should travel to the airport facility and then be activated togo online with the service entity (e.g., to obtain vehicle serviceassignments to transport user(s) from the airport facility).

The operations computing system can select the first autonomous vehiclefrom among a plurality of autonomous vehicles for the first geographicarea. For example, the operations computing system can identify that thefirst autonomous vehicle is offline with the service entity, is a partof the service entity's dedicated supply, is within proximity of theairport facility area, is an appropriate type of vehicle (e.g., a sportutility vehicle may be more suitable for activation at an airportfacility), etc.

In some implementations, the operations computing system can select ageographic area for an autonomous vehicle based on whether (or not)autonomous vehicles can operate in the area. For example, the firstgeographic area can be an airport facility that is familiar to and/orsufficiently mapped for the first autonomous vehicle. The operationcomputing system may not select a particular geographic area for thefirst autonomous vehicle in the event that the particular area isunfamiliar, unmapped, and/or otherwise prohibitive to autonomous vehicleoperation.

The operations computing system can also determine when an autonomousvehicle should go online with a service entity. Again, suchdetermination can be made based at least in part on heuristics and/ormachine-learned models (e.g., trained to recommend times at which theautonomous vehicles should be activated, etc.). For instance, theoperations computing system can determine a first time parameterindicative of when the first autonomous vehicle is to go online with theservice entity based at least in part on the data associated with theautonomous vehicle(s) and the data associated with the geographicarea(s). The time parameter can be a future point in time at which, or afuture time period during which, the first autonomous vehicle is to goonline with the service entity. The time parameter can correspond to atime at which the first geographic area is predicted to experience avehicle imbalance. In various implementations, the time parameter may beunbounded (e.g., open-ended, such as including only a starting time) orbounded (e.g., including a starting time and ending time). By way ofexample, the operations computing system can predict that the airportfacility may experience a deficit in the number of vehicles available toprovide transportation services from 8:00 AM to 10:30 AM on a Monday.Accordingly, the operations computing system can determine that thefirst autonomous vehicle should go online within the airport facilityduring this time period.

In some implementations, the time parameter can be based at least inpart the activation and/or de-activation tendencies of other vehicles.For example, the operations computing system may select a first timeparameter such that the first autonomous vehicle goes online with theservice entities during a time when other vehicles (e.g., non-autonomousand/or autonomous vehicles) are going offline with the service entity.In this way, the operations computing system can aim to maintain a moreconsistent supply of vehicles to perform vehicle service(s).

In some implementations, the time parameter can be determined based atleast in part on weather conditions associated with the geographic data.For instance, the operations computing system can select a timeparameter for the first autonomous vehicle that does not correspond towhen the first geographic area is expected to have weather conditionsthat may affect autonomous vehicle operation (e.g., heavy snowfall,rainfall, etc.). Additionally, and/or alternatively, the time parametercan be determined based at least in part on other time specificinformation associated with the geographic data. For example, theoperations computing system can select a time parameter for the firstautonomous vehicle that is outside of a time period that typicallyexperiences blackouts (e.g., which may hinder wireless communicationwith the first autonomous vehicle).

In some implementations, an autonomous vehicle and/or a vehicle providercan request that an autonomous vehicle be re-positioned while offline.For example, the first autonomous vehicle itself and/or a computingsystem associated with a vehicle provider (e.g., a vehicle providercomputing system) can determine that the first autonomous vehicle willbe coming online with the service entity. The autonomous vehicle and/ora vehicle provider computing system can communicate data to theoperations computing system, requesting that the first autonomousvehicle be re-positioned while it is offline, so that it has a betteropportunity to obtain vehicle service assignments when it goes online.

In some implementations, the operations computing system may select atleast a subset of a vehicle provider's fleet to be re-positioned withrespect to the geographic area. For example, the operations computingsystem can determine that a vehicle provider is associated with aplurality of autonomous vehicles that are offline with the serviceentity. The operations computing system can identify at least a subsetof the vehicles in that plurality of autonomous vehicles as potentialcandidates to be re-positioned with respect to the geographic area whileremaining offline. However, the operations computing system may notdetermine which of those autonomous vehicles are to be re-positioned.Instead, the operations computing system can allow the vehicle providerto determine which of the autonomous vehicles in its offline fleet areto be re-positioned. This can give the vehicle provider the flexibilityto determine which vehicle(s) it prefers to re-locate.

To implement its determined offline re-positioning strategy, theoperations computing system can communicate one or more activationassignments. The activation assignment(s) can be indicative of thegeographic area within which an autonomous vehicle is to go online witha service entity. The activation assignment can indicate that anautonomous vehicle is to arrive at, get as close as possible to, getwithin a distance of (e.g., a threshold distance of, a reasonablewalking distance of, etc.), circle nearby, etc. a location within thegeographic area when the autonomous vehicle activates to go online withthe service entity. The activation assignment(s) can be indicative ofthe time parameter, which indicates when the autonomous vehicle shouldgo online with the service entity. As described herein, the timeparameter can include at least one of a point in time or a time periodat which the autonomous vehicle is to go online with the service entity.

By way of example, the operations computing system can communicate dataindicative of a first activation assignment to the first autonomousvehicle. The first activation assignment can indicate that the firstautonomous vehicle is to go online within the first geographic area(e.g., the airport facility, etc.) within a particular time and/orwithin a certain time period (e.g., between 7:45 am-8:15 am, etc.). Thefirst autonomous vehicle may not be currently located within the firstgeographic area. Thus, the first activation assignment can indicate thatthe first autonomous vehicle is be re-positioned to the first geographicarea (e.g., autonomously travel to the geographic area, etc.) prior togoing online with the service entity (e.g., while the first autonomousvehicle is offline). In some implementations, the first activationassignment can include a route for first autonomous vehicle to follow tothe first geographic area.

The activation assignment(s) can include a command or a request. Forexample, an activation assignment can be formulated as a command for theautonomous vehicle(s) that are included in the dedicated supply of theservice entity. In some implementations, the command may not be rejectedunless the autonomous vehicle is physically impaired from complying.Accordingly, the operations computing system can utilize such commandsfor the autonomous vehicle(s) that are included in the dedicated supplyof the service entity. In some implementations, the activationassignment can be formulated as a request that may be accepted orrejected. For example, the activation assignment can include a requestfor an autonomous vehicle to re-position to a geographic area while theautonomous vehicle is offline in the event that the autonomous vehicleis included in the non-dedicated supply of the service entity (e.g., thevehicle(s) that have the ability to accept or reject the re-positioningassignment). In some implementations, an activation assignment caninclude a vehicle service incentive to help entice an acceptance of theactivation assignment. The vehicle service incentive can include, forexample, an increase in the compensation for the autonomous vehicle'snext vehicle service assignment(s), increased rating, priority treatmentfor vehicle service assignment(s), etc.

The activation assignment(s) can be communicated directly or indirectlyto the autonomous vehicle(s). For example, the operations computingsystem can communicate data indicative of an activation assignmentdirectly to an autonomous vehicle (e.g., via one or more wirelessnetworks, etc.). Additionally, or alternatively, data indicative of anactivation assignment can be communicated to a vehicle providerassociated with the autonomous vehicle. For example, as describedherein, the operations computing system can determine that at least asubset of a vehicle provider's fleet are candidates for offlinere-positioning and that it would be satisfied if any of these autonomousvehicles are re-positioned with respect to a geographic area. Theoperations computing system can communicate data indicative of one ormore re-positioning assignment(s) to the vehicle provider's computingsystem, which can in turn select one or more of its autonomous vehiclesto be re-positioned and communicate with those autonomous vehicle(s)accordingly.

In some implementations, the operations computing system can confirmthat an autonomous vehicle has undertaken the activation assignment. Forexample, the operations computing system can obtain data indicating thatthe first autonomous vehicle is online with the service entity and islocated within the first geographic area. Additionally, oralternatively, the operations computing system can determine whether thefirst autonomous vehicle is autonomously re-positioning itself withrespect the geographic area. For example, the operations computingsystem can obtain data indicative of a vehicle's motion plan todetermine whether the first autonomous vehicle intends to travel to thefirst geographic area as instructed. Additionally, or alternatively, theoperations computing system can determine whether the first autonomousvehicle arrived at the first geographic area based at least in part onlocation data (e.g., GPS data, etc.) associated with the firstautonomous vehicle.

The operations computing system can communicate a vehicle serviceassignment associated with the geographic area to an autonomous vehicle.For instance, after confirming that the first autonomous vehicle hasgone online within the first geographic area, the operations computingsystem can communicate data indicative of a first vehicle serviceassignment associated with the first geographic area to the firstautonomous vehicle. This can include, for example, a request totransport a user from one location within the first geographic area toanother. In this way, the operations computing system can make sure thatthe first autonomous vehicle, which has been re-positioned while offlinewith the service entity, can obtain a vehicle service assignment whileonline with the service entity (e.g., reducing idle data usage).

In some implementations, the operations computing system can supplementthe supply of autonomous vehicles within a geographic area with one ormore non-autonomous vehicles. For instance, in the event that a vehicleimbalance persists within a geographic area, the operations computingsystem can request that one or more non-autonomous vehicles (e.g.,human-driven vehicles) be re-positioned to the geographic area. This caninclude non-autonomous vehicles that are online and/or offline with theservice entity. For example, the operations computing system cancommunicate data indicative of a re-positioning assignment to a userdevice associated with a non-autonomous vehicle. The re-positioningassignment can request that the user re-position the non-autonomousvehicle to the geographic area. The re-positioning assignment caninclude an incentive (e.g., a financial incentive, etc.) to entice theoperator of the non-autonomous vehicle to accept the re-positioningassignment. In some implementations, the re-positioning assignment canrequest that the non-autonomous vehicle be re-positioned away from thegeographic area (e.g., to reduce vehicle supply in the event of asurplus).

In some implementations, the operations computing system can de-activateone or more autonomous vehicles. For instance, the operations computingsystem can obtain data indicating that the autonomous vehiclesassociated with a particular vehicle provider are required to undergomaintenance. The operations computing system can determine that theseautonomous vehicles are to go offline with the service entity based atleast in part on such information. The operations computing system cancommunicate data (e.g., to the autonomous vehicles, to a vehicleprovider computing system, etc.) indicating that the autonomous vehiclesare to go offline. In response, the autonomous vehicles can complete anycurrent vehicle service assignments, go offline with the service entity(e.g., so that the autonomous vehicle can no longer obtain vehicleservice assignments), and travel to a service depot, a based location,perform a pull-over maneuver, etc.

The systems and methods described herein provide a number of technicaleffects and benefits. More particularly, the systems and methods of thepresent disclosure provide improved techniques for decreasing idle datausage and autonomous vehicle downtime. To do so, aspects of the presentdisclosure allow a computing system to re-position autonomous vehicle(s)to certain geographic areas (e.g., imbalanced areas, etc.) while theautonomous vehicle(s) are offline so that the autonomous vehicles aremore likely to obtain vehicle service assignments when they go online.This can increase the utilization rate of the autonomous vehicles.Moreover, such re-positioning can help reduce the amount of idle timeexperienced by the autonomous vehicle when the autonomous vehicleinitially goes online with the service entity (e.g., by beingre-positioned to a geographic area with a high demand for vehicleservices). Additionally, this can decrease the amount of processing,memory, power, and other resources that the autonomous vehicle uses toperceive its surrounding environment while it is idle. Ultimately, thiscan lead to less vehicle downtime caused by trips to a service depot todownlink data, re-charge the vehicle's power sources, etc. This can alsoimprove user wait time, increase vehicle compensation, increase theability of the autonomous vehicles to meet service goals, etc.

Example aspects of the present disclosure can provide an improvement tovehicle computing technology, such as autonomous vehicle computingtechnology. For instance, the systems and methods of the presentdisclosure provide an improved approach to preserving the computationalresources of an autonomous vehicle. For example, a computing system(e.g., an operations computing system of a service entity) can obtaindata associated with an autonomous vehicle that is offline with aservice entity. The computing system can obtain data indicative of ageographic area associated with the service entity (e.g., an imbalancedgeographic area). The computing system can determine that the autonomousvehicle is to go online with the service entity within the firstgeographic area (and a time for doing so) based at least in part on thedata associated with the autonomous vehicle and the data indicative ofthe geographic area. The computing system can communicate dataindicative of an activation assignment associated with the autonomousvehicle. The activation assignment can be indicative of the geographicarea within which the autonomous vehicle is to go online with theservice entity and/or the time at which the autonomous vehicle is to goonline. In this way, the computing system can decrease autonomousvehicle idle time and the amount of computational resources that anautonomous vehicle uses while it is idle. Moreover, the computing systemcan strategically determine which autonomous vehicle(s) to re-positionso that the re-positioning is performed in the most efficient mannerwhile the autonomous vehicle(s) are offline. Accordingly, the computingsystem can re-position the autonomous vehicle(s) so that the processing,memory, and power resources of the vehicle's computing system are morelikely to be utilized for performing vehicle services (as opposed tovehicle idling), when the autonomous vehicle is activated on a serviceentity's network. This leads to a more effective use of an autonomousvehicle's computational resource, while reducing the need for anautonomous vehicle to go offline again to replenish such resources.

With reference now to the FIGS., example embodiments of the presentdisclosure will be discussed in further detail. FIG. 1 illustrates anexample vehicle computing system 100 according to example embodiments ofthe present disclosure. The vehicle computing system 100 can beassociated with an autonomous vehicle 105. The vehicle computing system100 can be located onboard (e.g., included on and/or within) theautonomous vehicle 105.

The autonomous vehicle 105 incorporating the vehicle computing system100 can be various types of vehicles. For instance, the autonomousvehicle 105 can be a ground-based autonomous vehicle such as anautonomous car, autonomous truck, autonomous bus, etc. The autonomousvehicle 105 can be an air-based autonomous vehicle (e.g., airplane,helicopter, or other aircraft) or other types of vehicles (e.g.,watercraft, etc.). The autonomous vehicle 105 can drive, navigate,operate, etc. with minimal and/or no interaction from a human operator(e.g., driver). In some implementations, a human operator can be omittedfrom the autonomous vehicle 105 (and/or also omitted from remote controlof the autonomous vehicle 105). In some implementations, a humanoperator can be included in the autonomous vehicle 105.

In some implementations, the autonomous vehicle 105 can be configured tooperate in a plurality of operating modes. The autonomous vehicle 105can be configured to operate in a fully autonomous (e.g., self-driving)operating mode in which the autonomous vehicle 105 is controllablewithout user input (e.g., can drive and navigate with no input from ahuman operator present in the autonomous vehicle 105 and/or remote fromthe autonomous vehicle 105). The autonomous vehicle 105 can operate in asemi-autonomous operating mode in which the autonomous vehicle 105 canoperate with some input from a human operator present in the autonomousvehicle 105 (and/or a human operator that is remote from the autonomousvehicle 105). The autonomous vehicle 105 can enter into a manualoperating mode in which the autonomous vehicle 105 is fully controllableby a human operator (e.g., human driver, pilot, etc.) and can beprohibited and/or disabled (e.g., temporary, permanently, etc.) fromperforming autonomous navigation (e.g., autonomous driving). In someimplementations, the autonomous vehicle 105 can implement vehicleoperating assistance technology (e.g., collision mitigation system,power assist steering, etc.) while in the manual operating mode to helpassist the human operator of the autonomous vehicle 105.

The operating modes of the autonomous vehicle 105 can be stored in amemory onboard the autonomous vehicle 105. For example, the operatingmodes can be defined by an operating mode data structure (e.g., rule,list, table, etc.) that indicates one or more operating parameters forthe autonomous vehicle 105, while in the particular operating mode. Forexample, an operating mode data structure can indicate that theautonomous vehicle 105 is to autonomously plan its motion when in thefully autonomous operating mode. The vehicle computing system 100 canaccess the memory when implementing an operating mode.

The operating mode of the autonomous vehicle 105 can be adjusted in avariety of manners. For example, the operating mode of the autonomousvehicle 105 can be selected remotely, off-board the autonomous vehicle105. For example, a remote computing system (e.g., of a vehicle providerand/or service entity associated with the autonomous vehicle 105) cancommunicate data to the autonomous vehicle 105 instructing theautonomous vehicle 105 to enter into, exit from, maintain, etc. anoperating mode. By way of example, such data can instruct the autonomousvehicle 105 to enter into the fully autonomous operating mode. In someimplementations, the operating mode of the autonomous vehicle 105 can beset onboard and/or near the autonomous vehicle 105. For example, thevehicle computing system 100 can automatically determine when and wherethe autonomous vehicle 105 is to enter, change, maintain, etc. aparticular operating mode (e.g., without user input). Additionally, oralternatively, the operating mode of the autonomous vehicle 105 can bemanually selected via one or more interfaces located onboard theautonomous vehicle 105 (e.g., key switch, button, etc.) and/orassociated with a computing device proximate to the autonomous vehicle105 (e.g., a tablet operated by authorized personnel located near theautonomous vehicle 105). In some implementations, the operating mode ofthe autonomous vehicle 105 can be adjusted by manipulating a series ofinterfaces in a particular order to cause the autonomous vehicle 105 toenter into a particular operating mode.

The vehicle computing system 100 can include one or more computingdevices located onboard the autonomous vehicle 105. For example, thecomputing device(s) can be located on and/or within the autonomousvehicle 105. The computing device(s) can include various components forperforming various operations and functions. For instance, the computingdevice(s) can include one or more processors and one or more tangible,non-transitory, computer readable media (e.g., memory devices, etc.).The one or more tangible, non-transitory, computer readable media canstore instructions that when executed by the one or more processorscause the autonomous vehicle 105 (e.g., its computing system, one ormore processors, etc.) to perform operations and functions, such asthose described herein for controlling an autonomous vehicle, activatingan autonomous vehicle, recognizing that an autonomous vehicle is to bere-positioned, identifying a geographic area, directing an autonomousvehicle to be re-positioned, etc.

The autonomous vehicle 105 can include a communications system 120configured to allow the vehicle computing system 100 (and its computingdevice(s)) to communicate with other computing devices. The vehiclecomputing system 100 can use the communications system 120 tocommunicate with one or more computing device(s) that are remote fromthe autonomous vehicle 105 over one or more networks (e.g., via one ormore wireless signal connections). In some implementations, thecommunications system 120 can allow communication among one or more ofthe system(s) on-board the autonomous vehicle 105. The communicationssystem 120 can include any suitable components for interfacing with oneor more network(s), including, for example, transmitters, receivers,ports, controllers, antennas, and/or other suitable components that canhelp facilitate communication.

As shown in FIG. 1, the autonomous vehicle 105 can include one or morevehicle sensors 125, an autonomy computing system 130, one or morevehicle control systems 135, and other systems, as described herein. Oneor more of these systems can be configured to communicate with oneanother via a communication channel. The communication channel caninclude one or more data buses (e.g., controller area network (CAN)),on-board diagnostics connector (e.g., OBD-II), and/or a combination ofwired and/or wireless communication links. The onboard systems can sendand/or receive data, messages, signals, etc. amongst one another via thecommunication channel.

The vehicle sensor(s) 125 can be configured to acquire sensor data 140.This can include sensor data associated with the surrounding environmentof the autonomous vehicle 105. For instance, the sensor data 140 canacquire image and/or other data within a field of view of one or more ofthe vehicle sensor(s) 125. The vehicle sensor(s) 125 can include a LightDetection and Ranging (LIDAR) system, a Radio Detection and Ranging(RADAR) system, one or more cameras (e.g., visible spectrum cameras,infrared cameras, etc.), motion sensors, and/or other types of imagingcapture devices and/or sensors. The sensor data 140 can include imagedata, radar data, LIDAR data, and/or other data acquired by the vehiclesensor(s) 125. The autonomous vehicle 105 can also include other sensorsconfigured to acquire data associated with the autonomous vehicle 105.For example, the autonomous vehicle 105 can include inertial measurementunit(s), wheel odometry devices, and/or other sensors.

In some implementations, the sensor data 140 can be indicative of one ormore objects within the surrounding environment of the autonomousvehicle 105. The object(s) can include, for example, vehicles,pedestrians, bicycles, and/or other objects. The object(s) can belocated in front of, to the rear of, to the side of the autonomousvehicle 105, etc. The sensor data 140 can be indicative of locationsassociated with the object(s) within the surrounding environment of theautonomous vehicle 105 at one or more times. The vehicle sensor(s) 125can provide the sensor data 140 to the autonomy computing system 130.

In addition to the sensor data 140, the autonomy computing system 130can retrieve or otherwise obtain map data 145. The map data 145 canprovide information about the surrounding environment of the autonomousvehicle 105. In some implementations, an autonomous vehicle 105 canobtain detailed map data that provides information regarding: theidentity and location of different roadways, road segments, buildings,or other items or objects (e.g., lampposts, crosswalks, curbing, etc.);the location and directions of traffic lanes (e.g., the location anddirection of a parking lane, a turning lane, a bicycle lane, or otherlanes within a particular roadway or other travel way and/or one or moreboundary markings associated therewith); traffic control data (e.g., thelocation and instructions of signage, traffic lights, or other trafficcontrol devices); the location of obstructions (e.g., roadwork,accidents, etc.); data indicative of events (e.g., scheduled concerts,parades, etc.); and/or any other map data that provides information thatassists the autonomous vehicle 105 in comprehending and perceiving itssurrounding environment and its relationship thereto. In someimplementations, the vehicle computing system 100 can determine avehicle route for the autonomous vehicle 105 based at least in part onthe map data 145.

The autonomous vehicle 105 can include a positioning system 150. Thepositioning system 150 can determine a current position of theautonomous vehicle 105. The positioning system 150 can be any device orcircuitry for analyzing the position of the autonomous vehicle 105. Forexample, the positioning system 150 can determine position by using oneor more of inertial sensors (e.g., inertial measurement unit(s), etc.),a satellite positioning system, based on IP address, by usingtriangulation and/or proximity to network access points or other networkcomponents (e.g., cellular towers, WiFi access points, etc.), and/orother suitable techniques. The position of the autonomous vehicle 105can be used by various systems of the vehicle computing system 100and/or provided to a remote computing system. For example, the map data145 can provide the autonomous vehicle 105 relative positions of theelements of a surrounding environment of the autonomous vehicle 105. Theautonomous vehicle 105 can identify its position within the surroundingenvironment (e.g., across six axes, etc.) based at least in part on themap data. For example, the vehicle computing system 100 can process thesensor data 140 (e.g., LIDAR data, camera data, etc.) to match it to amap of the surrounding environment to get an understanding of thevehicle's position within that environment.

The autonomy computing system 130 can include a perception system 155, aprediction system 160, a motion planning system 165, and/or othersystems that cooperate to perceive the surrounding environment of theautonomous vehicle 105 and determine a motion plan for controlling themotion of the autonomous vehicle 105 accordingly. For example, theautonomy computing system 130 can obtain the sensor data 140 from thevehicle sensor(s) 125, process the sensor data 140 (and/or other data)to perceive its surrounding environment, predict the motion of objectswithin the surrounding environment, and generate an appropriate motionplan through such surrounding environment. The autonomy computing system130 can communicate with the one or more vehicle control systems 135 tooperate the autonomous vehicle 105 according to the motion plan.

The vehicle computing system 100 (e.g., the autonomy computing system130) can identify one or more objects that are proximate to theautonomous vehicle 105 based at least in part on the sensor data 140and/or the map data 145. For example, the vehicle computing system 100(e.g., the perception system 155) can process the sensor data 140, themap data 145, etc. to obtain perception data 170. The vehicle computingsystem 100 can generate perception data 170 that is indicative of one ormore states (e.g., current and/or past state(s)) of a plurality ofobjects that are within a surrounding environment of the autonomousvehicle 105. For example, the perception data 170 for each object candescribe (e.g., for a given time, time period) an estimate of theobject's: current and/or past location (also referred to as position);current and/or past speed/velocity; current and/or past acceleration;current and/or past heading; current and/or past orientation;size/footprint (e.g., as represented by a bounding shape); class (e.g.,pedestrian class vs. vehicle class vs. bicycle class), the uncertaintiesassociated therewith, and/or other state information. The perceptionsystem 155 can provide the perception data 170 to the prediction system160 (and/or the motion planning system 165).

The prediction system 160 can be configured to predict a motion of theobject(s) within the surrounding environment of the autonomous vehicle105. For instance, the prediction system 160 can generate predictiondata 175 associated with such object(s). The prediction data 175 can beindicative of one or more predicted future locations of each respectiveobject. For example, the prediction system 160 can determine a predictedmotion trajectory along which a respective object is predicted to travelover time. A predicted motion trajectory can be indicative of a paththat the object is predicted to traverse and an associated timing withwhich the object is predicted to travel along the path. The predictedpath can include and/or be made up of a plurality of way points. In someimplementations, the prediction data 175 can be indicative of the speedand/or acceleration at which the respective object is predicted totravel along its associated predicted motion trajectory. The predictionsystem 160 can output the prediction data 175 (e.g., indicative of oneor more of the predicted motion trajectories) to the motion planningsystem 165.

The vehicle computing system 100 (e.g., the motion planning system 165)can determine a motion plan 180 for the autonomous vehicle 105 based atleast in part on the perception data 170, the prediction data 175,and/or other data. A motion plan 180 can include vehicle actions (e.g.,planned vehicle trajectories, speed(s), acceleration(s), other actions,etc.) with respect to one or more of the objects within the surroundingenvironment of the autonomous vehicle 105 as well as the objects'predicted movements. For instance, the motion planning system 165 canimplement an optimization algorithm, model, etc. that considers costdata associated with a vehicle action as well as other objectivefunctions (e.g., cost functions based on speed limits, traffic lights,etc.), if any, to determine optimized variables that make up the motionplan 180. The motion planning system 165 can determine that theautonomous vehicle 105 can perform a certain action (e.g., pass anobject, etc.) without increasing the potential risk to the autonomousvehicle 105 and/or violating any traffic laws (e.g., speed limits, laneboundaries, signage, etc.). For instance, the motion planning system 165can evaluate one or more of the predicted motion trajectories of one ormore objects during its cost data analysis as it determines an optimizedvehicle trajectory through the surrounding environment. The motionplanning system 165 can generate cost data associated with suchtrajectories. In some implementations, one or more of the predictedmotion trajectories may not ultimately change the motion of theautonomous vehicle 105 (e.g., due to an overriding factor). In someimplementations, the motion plan 180 may define the vehicle's motionsuch that the autonomous vehicle 105 avoids the object(s), reduces speedto give more leeway to one or more of the object(s), proceedscautiously, performs a stopping action, etc.

The motion planning system 165 can be configured to continuously updatethe vehicle's motion plan 180 and a corresponding planned vehicle motiontrajectory. For example, in some implementations, the motion planningsystem 165 can generate new motion plan(s) for the autonomous vehicle105 (e.g., multiple times per second). Each new motion plan can describea motion of the autonomous vehicle 105 over the next planning period(e.g., next several seconds). Moreover, a new motion plan may include anew planned vehicle motion trajectory. Thus, in some implementations,the motion planning system 165 can continuously operate to revise orotherwise generate a short-term motion plan based on the currentlyavailable data. Once the optimization planner has identified the optimalmotion plan (or some other iterative break occurs), the optimal motionplan (and the planned motion trajectory) can be selected and executed bythe autonomous vehicle 105.

The vehicle computing system 100 can cause the autonomous vehicle 105 toinitiate a motion control in accordance with at least a portion of themotion plan 180. A motion control can be an operation, action, etc. thatis associated with controlling the motion of the vehicle. For instance,the motion plan 180 can be provided to the vehicle control system(s) 135of the autonomous vehicle 105. The vehicle control system(s) 135 can beassociated with a vehicle controller (e.g., including a vehicleinterface) that is configured to implement the motion plan 180. Thevehicle controller can, for example, translate the motion plan intoinstructions for the appropriate vehicle control component (e.g.,acceleration control, brake control, steering control, etc.). By way ofexample, the vehicle controller can translate a determined motion plan180 into instructions to adjust the steering of the autonomous vehicle105 “X” degrees, apply a certain magnitude of braking force, etc. Thevehicle controller (e.g., the vehicle interface) can help facilitate theresponsible vehicle control (e.g., braking control system, steeringcontrol system, acceleration control system, etc.) to execute theinstructions and implement the motion plan 180 (e.g., by sending controlsignal(s), making the translated plan available, etc.). This can allowthe autonomous vehicle 105 to autonomously travel within the vehicle'ssurrounding environment.

The autonomous vehicle 105 can be associated with a variety of differentparties. For example, FIG. 2 depicts an example architecture 200according to example embodiments of the present disclosure. As shown,the vehicle computing system 100 of the autonomous vehicle 105 can beconfigured to communicate with a plurality of different computingsystems that are remote from the autonomous vehicle 105 via thearchitecture 200.

In some implementations, the autonomous vehicle 105 can be associatedwith a vehicle provider 205. The vehicle provider 205 can include, forexample, an owner, a manufacturer, a vendor, a manager, a coordinator, ahandler, etc. of the autonomous vehicle 105. The vehicle provider 205can be an individual, a group of individuals, an entity (e.g., acompany), a group of entities, a service entity, etc. In someimplementations, the autonomous vehicle 105 can be included in a fleetof vehicles associated with the vehicle provider 205. The vehicleprovider 205 can utilize a vehicle provider computing system 210 that isremote from the autonomous vehicle 105 to communicate (e.g., over one ormore wireless communication channels) with the vehicle computing system100 of the autonomous vehicle 105. The vehicle provider computing system210 can include a server system (e.g., of an entity), a user device(e.g., of an individual owner), and/or other types of computing systems.

The autonomous vehicle 105 can be configured to perform vehicle servicesfor a plurality of different service entities 215A-B. An autonomousvehicle 105 can perform a vehicle service by, for example and as furtherdescribed herein, travelling (e.g., traveling autonomously) to alocation associated with a requested vehicle service, allowing user(s)and/or item(s) to board or otherwise enter the autonomous vehicle 105,transporting the user(s) and/or item(s), allowing the user(s) and/oritem(s) to deboard or otherwise exit the autonomous vehicle 105, etc. Inthis way, the autonomous vehicle 105 can provide the vehicle service(s)for a service entity to a user.

A service entity can be associated with the provision of one or morevehicle services. For example, a service entity can be an individual, agroup of individuals, a company (e.g., a business entity, organization,etc.), a group of entities (e.g., affiliated companies), and/or anothertype of entity that offers and/or coordinates the provision of one ormore vehicle services to one or more users. For example, a serviceentity can offer vehicle service(s) to users via one or more softwareapplications (e.g., that are downloaded onto a user computing device),via a website, and/or via other types of interfaces that allow a user torequest a vehicle service. As described herein, the vehicle services caninclude transportation services (e.g., by which a vehicle transportsuser(s) from one location to another), delivery services (e.g., by whicha vehicle transports/delivers item(s) to a requested destinationlocation), courier services (e.g., by which a vehicle retrieves item(s)from a requested origin location and transports/delivers the item to arequested destination location), and/or other types of services.

Each service entity 215A-B can be associated with a respectivetelecommunications network system 220A-B of that service entity. Atelecommunications network system can include the infrastructure tofacilitate communication between the autonomous vehicle 105 and thevarious computing systems of the associated service entity that areremote from the autonomous vehicle 105. For example, a service entity215A-B can utilize an operations computing system 225A-B of the serviceentity to communicate with, coordinate, manage, etc. autonomousvehicle(s) to perform the vehicle services of the service entity 215A-B.The telecommunications network system 220A-B can allow an autonomousvehicle 105 to utilize the back-end functionality of the operationscomputing system 225A-B (e.g., vehicle service assignment allocation,vehicle technical support, etc.).

An operations computing system 225A-B can include one or more computingdevices that are remote from the autonomous vehicle 105 (e.g., locatedoff-board the autonomous vehicle 105). For example, such computingdevice(s) can be components of a cloud-based server system and/or othertype of computing system that can communicate with the vehicle computingsystem 100 of the autonomous vehicle 105, another computing system(e.g., a vehicle provider computing system 210, etc.), a user device,etc. The operations computing system 225A-B can be distributed acrossone or more location(s) and include one or more sub-systems. Thecomputing device(s) of an operations computing system 225A-B can includevarious components for performing various operations and functions. Forinstance, the computing device(s) can include one or more processor(s)and one or more tangible, non-transitory, computer readable media (e.g.,memory devices, etc.). The one or more tangible, non-transitory,computer readable media can store instructions that when executed by theone or more processor(s) cause the operations computing system 225A-B(e.g., the one or more processors, etc.) to perform operations andfunctions, such as communicating data to and/or obtaining data fromvehicle(s), obtaining data associated with geographic area(s),identifying vehicle imbalances, re-positioning vehicles, coordinatingthe provision of vehicle services by vehicle(s), etc. as furtherdescribed herein.

An operations computing system 225A can communicate with an autonomousvehicle 105 via the service entity's computing platform. A computingplatform of a service entity 215A-B can provide the vehicle computingsystem 100 and the operations computing system 225A-B with a computingenvironment that allows the systems to communicate. A computing platformcan include a variety of computer architectures. Moreover, the computingplatform can include the software, hardware, application programminginterface(s), etc. that are associated with the service entity 215A-B.Each service entity 215A-B may have a different computing platform thatcan allow the service entity's operations computing system 225A-B andthe vehicle computing system 100 to communicate via thetelecommunications network system 220A-B associated with the serviceentity. In some implementations, one or more service entities mayutilize the same computing platform.

One or more of the components of a computing platform can be accessibleby the vehicle computing system 100. For instance, to help communicatewith the various different service entities 215A-B, a vehicle computingsystem 100 of the autonomous vehicle 105 can include a plurality ofvehicle clients 245A-B, each associated with a different service entity215A-B. For example, the autonomous vehicle 105 can include a firstvehicle client 245A associated with a first service entity 215A and asecond vehicle client 245B associated with a second service entity 215B(e.g., that is different than the first service entity 215A). A vehicleclient can be a software platform component of the service entity'scomputing platform, that is stored onboard an autonomous vehicle 105.For example, a vehicle client can include firmware, software (e.g., asoftware application), etc. that is stored onboard the autonomousvehicle 105 (and/or in an offboard memory that is accessible by theautonomous vehicle 105) and that can allow the vehicle computing system100 to communicate data to and/or obtain data from the operationscomputing system 225A-B associated with a service entity 215A-B. Forexample, a vehicle client 245A-B can allow the vehicle computing system100 to receive data indicative of one or more vehicle serviceassignments from an associated service entity 215A-B. The vehicle client245A-B can be provided to an autonomous vehicle 105 by an operationscomputing system 225A-B associated with a service entity 215A-B,provided to a vehicle provider computing system 210 that can then helpimplement the vehicle client 245A-B on the autonomous vehicle 105 (e.g.,by communicating a configuration to the vehicle computing system 100),and/or other approaches. In some implementations, the operationscomputing system 225A-B and the vehicle computing system 100 canindirectly communicate. For example, the vehicle provider computingsystem 210 can serve as an intermediary between the operations computingsystem 225A-B and the vehicle computing system 100 such that at leastsome data is communicated from the operations computing system 225A-B(or the vehicle computing system 100) to the vehicle provider computingsystem 210 and then to the vehicle computing system 100 (or theoperations computing system 225A-B).

A vehicle client 245A-B can be implemented via hardware and/or softwareonboard the autonomous vehicle 105. The vehicle computing system 100 canutilize the vehicle client 245A-B to access an application programminginterface 250A-B associated with a service entity 215A-B. For example,the vehicle computing system 100 can invoke, via a vehicle client245A-B, the application programming interface 250A-B to access a libraryindicative of a plurality of parameters. The library can include, forexample, a central repository for parameters that can be used togenerate a communication (e.g., query string, message, data set, etc.)to be sent to the service entity's operations computing system. In someimplementations, each service entity 215A-B can be associated with adifferent application programming interface 250A-B. For example, a firstservice entity 215A can be associated with a first applicationprogramming interface 250A and a second service entity 215B can beassociated with a second application programming interface 250B (e.g.,which is different from the first application programming interface250A). Additionally, or alternatively, one or more service entities canutilize the same application programming interface and/or the first andsecond application programming interfaces 250A-B can be the same (or atleast similar).

A user 230 can request a vehicle service from a service entity 215A-B.For example, the user 230 can provide user input to a user device 235 torequest a vehicle service (e.g., via a user interface associated with amobile software application of the service entity, etc.). The userdevice 235 can communicate (e.g., directly and/or indirectly via anothercomputing system) data 240 indicative of a request for a vehicle serviceto an operations computing system 225A-B associated with the serviceentity 215A-B. The request can indicate the type of vehicle service thatthe user 230 desires (e.g., a transportation service, a deliveryservice, a courier service, etc.), one or more locations (e.g., anorigin location, a destination location, etc.), timing constraints(e.g., pick-up time, drop-off time, deadlines, etc.), a number ofuser(s) and/or items to be transported in the vehicle, one or more otherservice parameters (e.g., a need for handicap access, a need for trunkspace, etc.), and/or other information. The operations computing system225A-B of the service entity 215A-B can process the data 240 indicativeof the request and generate a vehicle service assignment that isassociated with the service request.

The operations computing system 225A-B of the service entity 215A-B canprocess the request and identify one or more autonomous vehicles thatmay be able to perform the requested vehicle services for the user 230.For instance, the operations computing system 225A-B can identify whichvehicle(s) are online with the service entity.

An autonomous vehicle can be online with a service entity so that theautonomous vehicle is available to obtain data indicative of a vehicleservice assignment associated with the service entity, so that theautonomous vehicle is available to address a vehicle service assignment,so that the autonomous vehicle is available to perform a vehicle servicefor the service entity, etc. For example, an autonomous vehicle 105 cango online with a service entity. An autonomous vehicle that is onlinewith a service entity can be, for example, a vehicle that has performedone or more of: launching a vehicle client associated with the serviceentity, accessing an API associated with the service entity,establishing a communication session with a computing system of theservice entity, connecting to a computing platform and/or atelecommunications network of the service entity, and/or taken otheractions to go online with the service entity. The online vehicle can beable to communicate with the serve entity's computing system, forexample, to obtain data (e.g., data indicative of vehicle serviceassignments).

The vehicle computing system 100 can go online with the computingplatform and/or a first telecommunications network 220A of a firstservice entity 215A such that the autonomous vehicle 105 can communicatewith the operations computing system 225A of the first service entity215A. This can allow the vehicle computing system 100 to obtain dataindicative of one or more vehicle service assignments associated withthe first service entity 215A. By way of example, as described herein,the vehicle computing system 100 can include a first vehicle client 245Aassociated with the first service entity 215A. The vehicle computingsystem 100 can indicate the vehicle's availability to perform vehicleservices and/or obtain vehicle service assignments from the firstservice entity. This can include launching the first vehicle client245A. The vehicle computing system 100 can establish a firstcommunication session with a first remote computing system associatedwith the first service entity 215A (e.g., the operations computingsystem 225A). The communication session can be opened based at least inpart on a first application programming interface 250A associated withthe first service entity 215A. For instance, the vehicle computingsystem 100 can access, via the first vehicle client 245A, the firstapplication programming interface 250A associated with the first serviceentity 215A. The vehicle computing system 100 can generate a firstcommunication 265A (e.g., data string, etc.) based at least in part onthe first application programming interface 250A (e.g., based on thedefined parameters thereof, etc.). The first communication 265A canindicate that the autonomous vehicle 105 is online with the firstservice entity 215A. The first communication 265A can indicate that theautonomous vehicle 105 is available to perform at least one firstvehicle service for the first service entity 215A and/or is available toobtain vehicle service assignment(s) associated with the first serviceentity 215A (e.g., a computing system associated therewith). The vehiclecomputing system 100 can provide the first communication 265A to theoperations computing system 225A of the first service entity 215A toindicate that the autonomous vehicle 105 is online with the firstservice entity 215A and that the autonomous vehicle 105 is available toperform vehicle service(s) for the first service entity 215A.Additionally, or alternatively, the vehicle computing system 100 canprovide the first communication 265A to the vehicle provider computingsystem 210, which can provide the first communication 265A (or similarsuch data) to the operations computing system 225A to indicate that theautonomous vehicle 105 is online with the service entity and that theautonomous vehicle 105 is available to perform vehicle service(s) forthe first service entity 215A. In some implementations, the vehicleprovider computing system 210 can perform similar operations tocommunicate with the operations computing system of a service entity viaan application programming interface.

A similar such approach can be utilized by the vehicle computing system100 to go online with a second service entity 215B. For example, thevehicle computing system 100 can access, via the second vehicle client245B, the second application programming interface 250B associated withthe second service entity 215B. The vehicle computing system 100 cangenerate a second communication 265B based at least in part on thesecond application programming interface 250B. The second communication265B can indicate that the autonomous vehicle 105 is online with thesecond service entity 215B. The second communication 265B can indicatethat the autonomous vehicle 105 is available to perform at least onesecond vehicle service for the second service entity 215B and/or isavailable to obtain vehicle service assignment(s) associated with thesecond service entity 215B (e.g., a computing system associatedtherewith).

An autonomous vehicle can be offline with a service entity. For example,the autonomous vehicle 105 can be offline with the first service entity215A such that the autonomous vehicle 105 is unavailable to perform thevehicle service(s) of the first service entity 215A (e.g., unavailableto obtain/accept vehicle service assignment(s)). While offline, however,the autonomous vehicle 105 may still be capable of obtaining informationfrom the service entity 215A. For instance, the autonomous vehicle 105(and/or an associated vehicle provider 205) can include a message datastore (e.g., an inbox, message queue, etc.) that stores messagesassociated with the autonomous vehicle 105 while it is offline. Thismessage data store can be accessible by the autonomous vehicle 105(and/or an associated vehicle provider 205). The operations computingsystem of a service entity can communicate data messages for anautonomous vehicle 105 and such messages can be stored in the data storefor the autonomous vehicle 105 (and/or an associated vehicle provider205). The autonomous vehicle 105 (and/or an associated vehicle provider205) can access the data store to obtain data indicative of a messagesuch as, for example, an activation assignment from a service entity, asfurther described herein.

Example embodiments of the present disclosure describe operations andfunctions performed by an operations computing system, a vehicleprovider computing system, and/or a vehicle computing system forillustrative purposes. One or more of the operations and functionsdescribed as being performed by one system can be performed by another.For example, the operations and functions of an operations computingsystem of a service entity can be performed by another computing system(e.g., the vehicle provider computing system 210, the vehicle computingsystem 100, etc.), and vice versa, and/or any combination thereof

An operations computing system can be configured to position one or morevehicles (e.g., that are offline with an associated service entity) toreduce vehicle downtime and idle data usage when the vehicles go onlinewith the service entity. FIG. 3 depicts an example operations computingsystem 300 of a service entity according to example embodiments of thepresent disclosure. The operations computing system 300 can beassociated with a service entity (e.g., service entities 215A-B). Theoperations computing systems 225A-B of FIG. 2 associated with therespective service entities 215A-B, and/or otherwise described herein,can be or can be configured in a similar manner to the operationscomputing system 300. The operations computing system 300 can include avehicle service coordination system 305, a vehicle re-positioning system310, and/or other systems.

The vehicle service coordination system 305 can be configured tocoordinate the provision of one or more vehicle services to one or moreusers. For instance, the operations computing system 300 can include arequest interface 315. The request interface 315 can allow theoperations computing system 300 to communicate with one or a pluralityof user devices 320 (e.g., mobile phones, desktops, laptops, tablets,game systems, etc.). The user device(s) 320 can be and/or can includethe user device 235 of FIG. 2. The request interface 315 can allow theoperations computing system 300 and the user device(s) 320 tocommunicate data to and/or from one another. For example, the userdevice(s) 320 can communicate (e.g., via the request interface 315) dataindicative of a service request 325 for a vehicle service to anoperations computing system 300 associated with a service entity.

The vehicle service coordination system 305 can be configured togenerate a vehicle service assignment 330. A vehicle service assignment330 can be indicative of a vehicle service (e.g., requested by a uservia the user device(s) 320) to be performed by a vehicle (e.g., anautonomous vehicle). A vehicle service assignment 330 can include avariety of information associated with the vehicle service, therequesting user, the user device, the service entity, etc. For example,a vehicle service assignment 330 can include data indicative of anassociated user and/or user device (if permitted), data indicative of acompensation parameter (e.g., the compensation for delivering an item toa user, couriering an item for a user, transporting a user, etc.), dataindicative of one or more locations (e.g., origin location, destinationlocation, intermediate location, etc.), data indicative of a type ofvehicle service (e.g., transportation service, delivery service, courierservice, etc.), data indicative of the type of cargo for the vehicleservice (e.g., passengers, luggage, packages, food, time-sensitive mail,etc.), data indicative of a vehicle type/size (e.g., sedan, sportutility vehicle, luxury vehicle, etc.), data indicative of one or moretime constraints (e.g., pick-up times, drop-off times, time limits fordelivery, service duration, etc.), data indicative of user preferences(e.g., music, temperature, etc.), data indicative of one or more vehicleservice parameters (e.g., luggage types, handle-with-care instructions,special pick-up requests, etc.), data indicative of the vehicle capacityrequired/preferred for the vehicle service (e.g., the number of seatswith seatbelts, an amount of trunk space, etc.), data indicative of userratings, data indicative of one or more vehicle service incentives (asfurther described herein), and/or other types of data.

The operations computing system 300 (e.g., the vehicle servicecoordination system 305) can identity one or more autonomous vehiclesthat are available for a vehicle service assignment 330. The vehicleservice coordination system 305 can identify autonomous vehicle(s) thatare online with the service entity associated with the operationscomputing system 300. The vehicle service coordination system 305 canselect an autonomous vehicle for the vehicle service assignment based atleast in part on the data indicated in the vehicle service assignment.For example, the vehicle service coordination system 305 can select anautonomous vehicle that meets the preferences of the user, has thenecessary capacity, is the requested vehicle type, etc. Additionally, oralternatively, the vehicle service coordination system 305 can select anautonomous vehicle based at least in part on the current and/or futurelocation of the autonomous vehicle. For example, the vehicle servicecoordination system 305 can select an autonomous vehicle that isproximate to an origin location associated with the vehicle serviceassignment 330. Additionally, or alternatively, the vehicle servicecoordination system 305 can select an autonomous vehicle that is withinand/or nearby a geographic area that includes the origin location and/ordestination location of the vehicle service assignment 330.

The operations computing system 300 can utilize a vehicle interface 335to communicate data indicative of a vehicle service assignment 330 toone or more vehicle computing systems 340 of one or more autonomousvehicles 345. The vehicle computing system(s) 340 can include thevehicle computing system 100 and/or be configured in similar manner(e.g., as shown in FIG. 1) and the autonomous vehicle(s) 345 can includethe autonomous vehicle 105. The vehicle interface 335 can allow theoperations computing system 300 and one or a plurality of vehiclecomputing systems 340 (e.g., of one or more autonomous vehicles 345) tocommunicate data to and/or from one another. For example, the operationscomputing system 300 can communicate, via the vehicle interface 335,data indicative of a vehicle service assignment 330 to one or morevehicle computing system(s) 340 of the autonomous vehicles 345 that theoperations computing system 300 selects for the vehicle serviceassignment 330. Additionally, or alternatively, the vehicle computingsystem(s) 340 can communicate data associated with the autonomousvehicle(s) 345 to the operations computing system 300. In this way, theoperations computing system 300 can coordinate the performance ofvehicle service(s) for user(s) by the autonomous vehicle(s) 345 as wellas monitor the autonomous vehicle(s) 345.

In some implementations, the operations computing system 300 can selecta non-autonomous vehicle (e.g., human driven vehicle) for a vehicleservice assignment 330. For example, the vehicle service coordinationsystem 305 can select a non-autonomous vehicle that is proximate to alocation associated with the vehicle service assignment 330.Additionally, or alternatively, the vehicle service coordination system305 can select a non-autonomous vehicle that is within and/or nearby ageographic area that includes the origin location and/or destinationlocation of the vehicle service assignment 330. The operations computingsystem 300 can utilize a vehicle interface 335 to communicate dataindicative of a vehicle service assignment 330 to one or more computingdevices associated with the selected non-autonomous vehicle (e.g., amobile device of the vehicle operator). The vehicle service assignment330 can be indicative of a request that the operator provide therequested vehicle service to a user associated with the vehicle serviceassignment 330.

The operations computing system 300 can communicate with one or morevehicle provider computing systems 350 (associated with one or morevehicle providers) via a vehicle provider interface 355. The vehicleprovider computing system(s) 350 can include and/or be configured in asimilar manner to the vehicle provider computing system 210 (shown inFIG. 2). The vehicle provider computing system(s) 350 can be associatedwith vehicle providers that are associated with the autonomousvehicle(s) 345. The vehicle provider interface 355 can allow theoperations computing system 300 and one or a plurality of vehicleprovider computing systems 350 (e.g., of one or more vehicle providers,etc.) to communicate data to and/or from one another. For example, theoperations computing system 300 can communicate, via the vehicleprovider interface 355, data indicative of a vehicle service assignment330, and/or other data as described herein, to one or more vehicleprovider computing system(s) 350. The vehicle provider computingsystem(s) 350 can then communicate such data to the vehicle computingsystem(s) 340. Additionally, or alternatively, the vehicle providercomputing system(s) 350 can communicate data associated with one or moreautonomous vehicles 345 (and/or other data) to the operations computingsystem 300.

A service entity may have varying levels of control over the vehicle(s)that perform its vehicle services. In some implementations, a vehiclecan be included in the service entity's dedicated supply of vehicles.The dedicated supply can include vehicles that are owned, leased, orotherwise exclusively available to the service entity (e.g., for theprovision of its vehicle service(s), other tasks, etc.) for at leastsome period of time. This can include, for example, an autonomousvehicle 345 that is associated with a vehicle provider, but that isonline only with that service entity (e.g., available to accept vehicleservice assignments for only that service entity, etc.) for a certaintime period (e.g., a few hours, a day, week, etc.).

In some implementations, a vehicle can be included in the serviceentity's non-dedicated supply of vehicles. This can include vehiclesthat are not exclusively available to the service entity. For example,an autonomous vehicle 345 that is currently online with two differentservice entities (e.g., concurrently online with a first service entity215A and a second service entity 215B, etc.) so that the autonomousvehicle 345 may accept vehicle service assignment(s) 330 from eitherservice entity (e.g., the operations computing systems associatedtherewith, etc.) may be considered to be part of a non-dedicated supplyof autonomous vehicles. In some implementations, whether a vehicle isconsidered to be part of the dedicated supply or the non-dedicatedsupply can be based, for example, on an agreement between the serviceentity and a vehicle provider associated with the autonomous vehicle345.

A service entity can seek to decrease the amount of time that anautonomous vehicle 345 may be idle when the autonomous vehicle 345initially goes online with the service entity. For example, theoperations computing system 300 can aim to decrease the amount of timethat the autonomous vehicle 345 is in an idle state when it goes onlinewith a service entity. An idle state can be a state in which theautonomous vehicle is not addressing a vehicle service assignment and/orperforming a vehicle service. This can include the time between vehicleservice assignments. To help decrease the potential idle time, theoperations computing system 300 can obtain data 360 associated with oneor a plurality of autonomous vehicles that are offline with a serviceentity (e.g., the first service entity 215A). These can be autonomousvehicle(s) that are a part of the service entity's dedicated supply ornon-dedicated supply. Moreover, these can be autonomous vehicle(s) thatare included in the vehicle fleet of a vehicle provider. The dataassociated with these offline autonomous vehicle(s) can be indicative ofat least one of: data indicative of a preference of one or more vehicleservices that the autonomous vehicle is configured to perform (e.g.,transportation services, delivery services, etc.), data indicative ofwhether the autonomous vehicle is included in a dedicated ornon-dedicated supply of the service entity, data indicative of one ormore geographic constraints for the autonomous vehicle (e.g.,restrictions on where an autonomous vehicle can travel), data indicativeof one or more vehicle characteristics for the autonomous vehicle (e.g.,make, model, type, shape, size, etc.), data indicative of a performancerating for the autonomous vehicle (and/or the rating of an associatedvehicle provider), data indicative of a location of the autonomousvehicle (e.g., an autonomous vehicle's current and/or future plannedlocation, where the autonomous vehicle is parked while offline, whereautonomous vehicle is scheduled to be when it goes online, etc.), ordata indicative of a configured preference to perform vehicle servicepooling by the autonomous vehicle. In some implementations, the data 360can be indicative of the vehicle provider associated with an autonomousvehicle and/or other information (e.g., past usage, maintenanceschedules, etc.). In some implementations, the data 360 can beindicative of one or more preferred destinations of the autonomousvehicle 345 (e.g., where the vehicle would like to be located when itgoes online, etc.). In some implementations, the data 360 can beindicative of a time (e.g., point in time, time period, etc.) at whichthe autonomous vehicle 345 plans to, is scheduled to, will, etc. goonline. In some implementations, the data 360 can include data (e.g.,communicated from an autonomous vehicle 345) that indicates a requestthat the associated vehicle be re-positioned while it is offline, asfurther described herein. The operations computing system can utilizethe data 360 associated with the autonomous vehicle(s) 345 to identifywhich autonomous vehicles 345 are available for offline re-positioning,to help reduce the potential for an autonomous vehicle 345 to waste itsresources when it goes online (e.g., while in an idle state).

For example, with reference to FIG. 4, the operations computing systemcan obtain data 360 associated with an autonomous vehicle that isoffline with a service entity such as, for example, a first autonomousvehicle 405A. The data 360 associated with the first autonomous vehicle405A can indicate that the first autonomous vehicle 405A is online withthe first service entity 215A; that the first autonomous vehicle 405A isconfigured to perform transportation services, delivery services, etc.;the current location of the first autonomous vehicle 405A (e.g., whereit is parked, docked, charging, in sleep mode, etc.); whether the firstautonomous vehicle 405A is a part of the dedicated supply of the firstservice entity 215A; any geographic constraints of the first autonomousvehicle 405A; the make, model, size, etc. of the autonomous vehicle 405A(e.g., the first autonomous vehicle is an SUV); the associated vehicleprovider 205 of the first autonomous vehicle 405; the performance ratingof the first autonomous vehicle 405A (and/or its vehicle provider 205);whether the first autonomous vehicle 405A is configured for servicepooling (e.g., the pooling of transportation services); and/or otherinformation associated with the first autonomous vehicle 405A. Theoperations computing system 300 can use this data to identify the firstautonomous vehicle 405A as a candidate for offline re-positioning tohelp reduce potential idle time when the first autonomous vehicle 405Aeventually goes online with the service entity.

Returning to FIG. 3, to help determine where an autonomous vehicle maybe re-positioned, the operations computing system 300 can obtain data365 associated with one or more geographic areas associated with theservice entity. For example, these can be geographic areas in which theservice entity offers vehicle service(s), geographic area(s) in whichprevious vehicle service assignments associated with the service entityhave been completed, geographic area(s) in which future vehicle servicerequests are predicted, geographic area(s) in which the service entityplans to offer vehicle services, etc. The data 365 associated with ageographic area can be indicative of, for example, the past, present,and/or future (e.g., known and/or predicted) of at least one of: dataindicative of a demand for one or more vehicle services associated withthe geographic area (e.g., the number of service requests that begin,end, have an intermediate location within, and/or involve the traversalof the geographic area, etc.), data indicative of a number of vehiclesassociated with the geographic area (e.g., the number of non-autonomousvehicles, the number of autonomous vehicles, etc.), data indicative of autilization rate for the vehicles associated with the geographic area,data indicative of an event associated with the geographic area (e.g.,concerts, sporting events, performances, etc.), or data indicative of aweather condition associated with the geographic area (e.g., rain, snow,high/low temperatures, etc.).

In some implementations, the operations computing system 300 can utilizepast and/or current data to project future parameters associated with ageographic area. For example, the operations computing system 300 canpredict a future demand for vehicle services within a geographic areabased at least in part on a past and/or current demand for vehicleservices with like circumstances (e.g., similar time of day, season,occurrence, weather, etc.).

In some implementations, the data 365 can be indicative of otherinformation. For example, the data 365 associated with the geographicarea(s) can also be indicative of whether autonomous vehicles arepermitted and/or capable of operating within the area. In someimplementations, the data 365 associated with the geographic area(s) canbe indicative of one or more conditions imposed on non-autonomousvehicles (e.g., service conditions imposed by the service entity withinan area, etc.). This can include, for example, constraints on the typesof vehicle services that non-autonomous vehicles can provide and/orconstraints on the geographic boundaries within which the non-autonomousvehicles can travel. In some implementations, the data 365 associatedwith the geographic area(s) can include time specific informationassociated with a geographic area. The time specific information canindicate, for example, times at which it may be difficult for anautonomous vehicle to operate within the geographic area (e.g., powerblackouts typically occur between 12 AM to 5 AM, etc.).

The operations computing system 300 can identify which geographicarea(s) have a vehicle imbalance based at least in part on the data 365associated with the geographic area(s). This can include a presentand/or future imbalance in the number of vehicles associated with thegeographic area. The vehicles associated with a geographic area can bevehicles that are available to perform vehicle service(s) that begin,traverse, and/or end within the geographic area. This can includenon-autonomous vehicles and/or autonomous vehicles. The vehicleimbalance can include, for example, a surplus or a deficit in the numberof vehicles (e.g., non-autonomous vehicles and/or autonomous vehicles)available to perform one or more vehicle services as compared to ademand for the one or more vehicles services. (e.g., autonomous vehiclesthat are located within the geographic area and/or are available toperform vehicle service(s) of the service entity that begin, traverse,and/or end within the geographic area, etc.).

The operations computing system 300 can determine that a geographic areahas an imbalance in the number of vehicles associated with thegeographic area based at least in part on the data 365 associated withthe geographic area. By way of example, with reference to FIG. 4, theoperations computing system 300 can obtain data 365 associated with ageographic area associated with the service entity such as, for example,a first geographic area 410A. The data 365 associated with the firstgeographic area 410A can indicate, for example, the number of vehicles(e.g., non-autonomous and/or autonomous vehicles) within the firstgeographic area 410 and data indicative of a demand for one or morevehicle services associated with the first geographic area 410A (e.g., avolume of service requests). This can include a current and/or futurenumber of vehicles within the first geographic area 410A and a currentand/or future number of service requests associated with the firstgeographic area 410A. The operations computing system 300 can determinethat there should be an increase in the number of vehicles within thefirst geographic area 410A in the event that the current and/or futurenumber of service requests (e.g., demand for vehicle service(s))outweighs the current and/or future supply of vehicles within thegeographic area (e.g., the first geographic area 410A experiences adeficit). As such, the first geographic area 410A represents anopportunity of where the supply of autonomous vehicles can be adjustedto increase the opportunity for an autonomous vehicle to receive vehicleservice assignments.

Returning to FIG. 3, The operations computing system 300 can determinewhere an offline autonomous vehicle should be activated based at leastin part on the data 360 associated with the autonomous vehicle(s) 345and the data 365 associated with the geographic area(s). Suchdetermination can be made based at least in part on heuristics and/ormachine-learned models (e.g., trained to recommend geographic areasand/or autonomous vehicles, etc.). For example, the operations computingsystem 300 can store one or more rules-based algorithms that aredesigned to identify the optimal candidate vehicles to be re-positionedand/or the optimal candidate geographic areas based at least in part onthe data 360 associated with autonomous vehicle(s) and the data 365associated with the geographic area 400. These rules can identify, forexample, autonomous vehicles 345 that are offline and closest to thefirst geographic area 410A as candidate vehicle(s) to be re-positionedwith respect to the geographic area 410A.

Additionally, or alternatively, the determination as to which autonomousvehicles 345 to re-position can be made based at least in part on one ormore machine-learned models. For example, the machine-learned models caninclude neural networks (e.g., deep neural networks), and/or othermulti-layer non-linear models. Neural networks can include feed-forwardneural networks (e.g., convolutional neural networks), recurrent neuralnetworks (e.g., long short-term memory recurrent neural networks),and/or other forms of neural networks. The machine-learned model(s) canbe trained to recommend autonomous vehicles for re-positioning to ageographic area and/or geographic areas to which autonomous vehiclesshould be re-positioned. For example, the machine-learned models can betrained based at least in part on a set of labelled training data thatincludes labels indicating which autonomous vehicles would be mostappropriate for re-positioning with respect to a geographic area and/orwhich geographic areas are or will experience a vehicle imbalance. Insome implementations, the training data can be based at least in part onreal-world data associated with autonomous vehicle(s) and/or geographicarea(s).

The operations computing system 300 can determine that an autonomousvehicle is to go online with the service entity within the geographicarea based at least in part on the data 360 associated with theautonomous vehicle and the data 365 indicative of the geographic area.By way of example, with reference again to FIG. 4, the operationscomputing system 300 can determine that the first geographic area 410Ais where the first autonomous vehicle 405A is to go online with theservice entity. The first geographic area 410A can be a geographic areathat is predicted to have a vehicle imbalance at a future time. Forexample, the first geographic area 410A can be an airport facility. Theoperations computing system 300 can predict that the airport facilitywill have a deficit in the number of non-autonomous vehicles (e.g.,human-driven vehicles) and/or autonomous vehicles that are within theairport facility as compared to the demand for transportation services(e.g., rideshare trips transporting users away from the airportfacility). The operations computing system 300 can determine that thefirst autonomous vehicle 405A should travel to the first geographic area410A (e.g., the airport facility) and then be activated to go onlinewith the service entity. This can allow the first autonomous vehicle405A to go online within a geographic area in which it is more likely toobtain vehicle service assignments.

The operations computing system 300 can select the first autonomousvehicle 405A from among a plurality of autonomous vehicles for the firstgeographic area 410, as depicted in FIG. 4. For example, the operationscomputing system 300 can identify that the first autonomous vehicle 405Ais offline with the service entity, is a part of the service entity'sdedicated supply, is within proximity of the first geographic area 410A(e.g., the airport facility), is an appropriate type of vehicle (e.g., asport utility vehicle), etc.

In some implementations, the operations computing system 300 can selecta geographic area for an autonomous vehicle based on whether (or not)autonomous vehicles can operate in the area. For example, the firstgeographic area 410A (e.g., an airport facility) can be a geographicarea that is familiar to and/or sufficiently mapped for the firstautonomous vehicle 405A. The operation computing system 300 may notselect a particular geographic area for the first autonomous vehicle405A in the event that the particular area is unfamiliar, unmapped,and/or otherwise prohibitive to autonomous vehicle operation.

In some implementations, the operations computing system 300 can utilizea more global type of analysis when determining which autonomousvehicles should be re-positioned. For instance, the operations computingsystem 300 can utilize a cost analysis, machine-learned model,optimization heuristics, etc. to determine what effects there-positioning of certain autonomous vehicles may have on each of theother autonomous vehicles that are offline and/or online with theservice entity. The operations computing system 300 can determine howre-positioning some autonomous vehicles with respect to a geographicarea may affect the number of vehicle service assignments given toanother vehicle as well as the potential increase in idle time foranother autonomous vehicle. The operations computing system 300 canperform a cost analysis to determine the least costly approach acrossall of the autonomous vehicles that are offline and/or online with theservice entity (e.g., the re-positioning determination that leads to thelowest amount of vehicle idle time).

With reference to FIG. 3, the operations computing system 300 candetermine when an autonomous vehicle 345 should go online with a serviceentity. As similarly described herein, such determination can be madebased at least in part on heuristics and/or machine-learned models. Forexample, the operations computing system 300 can store one or morerules-based algorithms that are designed to identify the optimal times(e.g., points in time, time periods, etc.) at which an autonomousvehicle 345 should go online with a service entity (e.g., first serviceentity 215A). These rules can identify, for example, times at which ageographic area is predicted to experience a vehicle imbalance.

Additionally, or alternatively, the determination as to when anautonomous vehicle 345 should go online with a service entity can bemade based at least in part on one or more machine-learned models. Forexample, the machine-learned models can include neural networks (e.g.,deep neural networks), and/or other multi-layer non-linear models.Neural networks can include feed-forward neural networks (e.g.,convolutional neural networks), recurrent neural networks (e.g., longshort-term memory recurrent neural networks), and/or other forms ofneural networks. The machine-learned model(s) can be trained torecommend one or more points in time and/or time periods at which anautonomous vehicle 345 should go online with a service entity. Forexample, the machine-learned models can be trained based at least inpart on a set of training data that indicates the appropriate times foran autonomous vehicle 345 to be activated within a certain geographicarea (e.g., when the geographic area is experience a vehicle deficit).In some implementations, the training data can be based at least in parton real-world data associated with the autonomous vehicle(s) and/orgeographic area(s).

For instance, the operations computing system 300 can determine a timeparameter 370 based at least in part on the data 360 associated with theautonomous vehicle(s) 345 and the data 365 associated with thegeographic area(s). The time parameter 370 can be indicative of at leastone of a point in time at which an autonomous vehicle 345 is to goonline with the service entity or a time period during which anautonomous vehicle 345 is to go online with the service entity. The timeparameter 370 can be a future point in time at which, or a future timeperiod during which, an autonomous vehicle is to go online with theservice entity. In various implementations, the time parameter 370 maybe unbounded (e.g., open-ended, such as including only a starting time)or bounded (e.g., including a starting time and ending time).

The time parameter 370 can correspond to a time at which a geographicarea is predicted to experience a vehicle imbalance. For instance, theoperations computing system 300 can predict that a geographic area willhave a vehicle imbalance during at least one of the point in time atwhich the autonomous vehicle 345 is to go online with the service entityor the time period during which the autonomous vehicle 345 is to goonline with the service entity. In this way, the operations computingsystem 300 can cause an autonomous vehicle 345 to go online with aservice entity in accordance with a time parameter 370 that reflects atime at which the autonomous vehicle 345 is more likely to obtain avehicle service assignment (e.g., during a vehicle deficit).

By way of example, with reference to FIG. 4, the operations computingsystem 300 can determine a first time parameter 415A indicative of whenthe first autonomous vehicle 405A is to go online with the serviceentity (e.g., the first service entity 215A) based at least in part onthe data 360 associated with the autonomous vehicle(s) and the data 365associated with the geographic area(s). By way of example, theoperations computing system 300 can predict that the first geographicarea 410A (e.g., an airport facility) may experience a deficit in thenumber of vehicles available to provide transportation services from8:00 AM to 10:30 AM on a Monday based on the historic demand for vehicleservices and the projected supply of vehicles within the geographic areaat that time. Accordingly, the operations computing system 300 candetermine that the first autonomous vehicle 405A should be re-positionedto the first geographic area 415A and should go online within the firstgeographic area 410A during this time period.

In some implementations, a time parameter 370 can be based at least inpart the activation and/or de-activation tendencies of other vehicles.For example, the operations computing system 300 may select a first timeparameter 415A such that the first autonomous vehicle 405A goes onlinewith the service entities during a time when other vehicles (e.g.,non-autonomous and/or autonomous vehicles) are going offline with theservice entity. In this way, the operations computing system 300 can aimto maintain a more consistent supply of vehicles to perform vehicleservice(s).

In some implementations, a time parameter 370 can be determined based atleast in part on weather conditions associated with the geographic area.For instance, the operations computing system 300 can select a firsttime parameter 415A, for the first autonomous vehicle 405A, that doesnot correspond to when the first geographic area 410A is expected tohave weather conditions that may affect autonomous vehicle operation(e.g., heavy snowfall, rainfall, etc.). In the event that a vehicledeficit occurs within the first geographic area during such conditions,the operations computing system 300 may communicate with operators ofnon-autonomous vehicles to increase the supply of vehicles within thefirst geographic area 410A.

Additionally, and/or alternatively, the time parameter 370 can bedetermined based at least in part on other time specific informationassociated with the geographic data. For example, the operationscomputing system 300 can select a first time parameter 415A for thefirst autonomous vehicle 405A that is outside of a time period at whicha geographic area typically experiences blackouts (e.g., which mayhinder wireless communication with the first autonomous vehicle 405A).In some implementations, the time parameter 370 can be selected tocorrespond to when an event (e.g., concert, sporting event, etc.) mayoccur in the geographic area.

In some implementations, an autonomous vehicle and/or a vehicle providercan request that an autonomous vehicle be re-positioned while offline.For example, the first autonomous vehicle 405A itself and/or a computingsystem associated with a vehicle provider (e.g., a vehicle providercomputing system 210) can determine that the first autonomous vehicle405A will be coming online with the service entity (e.g., the firstservice entity 215A). The first autonomous vehicle 405A and/or anassociated vehicle provider computing system can communicate data to theoperations computing system 300, requesting that the first autonomousvehicle 405A be re-positioned while it is offline. In this way, anautonomous vehicle and/or vehicle provider computing system can requestan offline re-positioning that would afford the autonomous vehicle abetter opportunity to obtain vehicle service assignments when it goesonline.

In some implementations, the operations computing system 300 may selectat least a subset of a vehicle provider's fleet to be re-positioned withrespect to the geographic area. For example, a plurality of autonomousvehicles can be associated with a vehicle provider. The plurality ofautonomous vehicles can make-up and/or be included in a vehicleprovider's fleet and can be offline with the service entity. In a manneras similarly described herein, the operations computing system 300 candetermine that at least a subset of the plurality of autonomous vehiclesare to go online with the service entity within a geographic area (e.g.,the first geographic area 410A) based at least in part on the data 360associated with the plurality of autonomous vehicles (e.g., within thevehicle provider's fleet) and the data 365 indicative of the geographicarea. In some implementations, the operations computing system 300 maynot determine which of those specific autonomous vehicles are to bere-positioned. Instead, the operations computing system 300 can allowthe vehicle provider to determine which of the autonomous vehicles inits offline fleet are to be re-positioned. This can give the vehicleprovider the flexibility to determine which vehicle(s) it prefers tore-locate.

With reference to FIG. 3, the operations computing system can generateone or more activation assignments 375 to help implement the offlinere-positioning of autonomous vehicle(s) 345. The activationassignment(s) 375 can be indicative of at least a portion of thegeographic area (e.g., within which an autonomous vehicle is to goonline with a service entity). An activation assignment 375 can indicatethat an autonomous vehicle 345 is to arrive at, get as close as possibleto, get within a distance of (e.g., a threshold distance of, areasonable walking distance of, etc.), circle nearby, etc. a locationwithin the geographic area when the autonomous vehicle 345 activates togo online with the service entity. Additionally, or alternatively, theactivation assignment(s) 375 can be indicative of a time parameter 370,which indicates when the autonomous vehicle 345 should go online withthe service entity. As described herein, the time parameter 370 caninclude at least one of a point in time or a time period at which anautonomous vehicle 345 is to go online with a service entity.

The operations computing system 300 can communicate data indicative ofan activation assignment 375 associated with an autonomous vehicle 345.By way of example, with reference to FIG. 4, the operations computingsystem 300 can communicate data indicative of a first activationassignment to the first autonomous vehicle 405A. The first activationassignment can indicate that the first autonomous vehicle 405A is to goonline within the first geographic area 410A (e.g., the airportfacility, etc.) within at a particular time and/or within a certain timeperiod (e.g., between 7:45 am-8:15 am, etc.) as indicated by the timeparameter 370. The first autonomous vehicle 405A may not be locatedwithin the geographic area (e.g., when it obtains the first activationassignment). The first activation assignment can indicate that the firstautonomous vehicle 405A be re-positioned within the first geographicarea 410A (e.g., autonomously travel to the geographic area, etc.) priorto going online with the service entity. For instance, the firstactivation assignment can be indicative of at least a portion of thefirst the geographic area 410A such as, for example, a first location420A, to which the first autonomous vehicle 405A is to travel to, arrivewithin a certain distance of, etc. In some implementations, the firstactivation assignment can include a route 430 for first autonomousvehicle 405A to follow to the first geographic area 410A.

With reference to FIG. 3, the activation assignment(s) 375 can include acommand or a request. For example, an activation assignment 375 can beformulated as a command for the autonomous vehicle(s) 345 that areincluded in the dedicated supply of the service entity. In someimplementations, the command may not be rejected unless the autonomousvehicle 345 is physically impaired from complying. Accordingly, theoperations computing system 300 can utilize such commands for theautonomous vehicle(s) 345 that are included in the dedicated supply ofthe service entity. In some implementations, an activation assignment375 can be formulated as a request that may be accepted or rejected. Forexample, an activation assignment 375 can include a request for anautonomous vehicle 345 to re-position to a geographic area while theautonomous vehicle 345 is offline in the event that the autonomousvehicle 345 is included in the non-dedicated supply of the serviceentity (e.g., the vehicle(s) that have the ability to accept or rejectthe re-positioning assignment). In some implementations, an activationassignment 375 can include a vehicle service incentive to help entice anacceptance of the activation assignment 375. The vehicle serviceincentive can include, for example, an increase in the compensation forthe autonomous vehicle's next vehicle service assignment(s), increasedrating, priority treatment for vehicle service assignment(s), etc.

The activation assignment(s) 375 can be communicated directly orindirectly to the autonomous vehicle(s) 345. For example, the operationscomputing system 300 can communicate data indicative of an activationassignment 375 directly to a vehicle computing system 340 of anautonomous vehicle 345 (e.g., via one or more wireless networks, etc.).Additionally, or alternatively, data indicative of an activationassignment 375 can be communicated to a vehicle provider associated withthe autonomous vehicle 345. For example, as described herein, theoperations computing system 300 can determine that at least a subset ofa vehicle provider's fleet are candidates for offline re-positioning andthat it would be satisfactory if any of these autonomous vehicles arere-positioned with respect to a geographic area. The operationscomputing system 300 can communicate data indicative of one or moreactivation assignments 375 associated with at least the subset of theplurality of autonomous vehicles. For instance, the operations computingsystem 300 can communicate the data indicative of the one or moreactivation assignments 375 to a computing system associated with thevehicle provider (e.g., a vehicle provider computing system 350). Forexample, the one or more activation assignments 375 can be indicative ofa request for the subset of autonomous vehicles to re-position within ageographic area prior to going online with the service entity within thegeographic area. In some implementations, the one or more activationassignments 375 can be indicative of a vehicle service incentiveassociated with the re-positioning of the subset of autonomous vehiclesto the geographic area. The vehicle provider (e.g., the vehicle providercomputing system 350) can select one or more of its autonomous vehiclesto be re-positioned and communicate with those autonomous vehicle(s)accordingly.

In some implementations, the operations computing system 300 can confirmthat an autonomous vehicle 345 has undertaken an activation assignment375. The operations computing system 300 can obtain data indicating thatan autonomous vehicle 345 is online with the service entity and islocated within the geographic area. Additionally, or alternatively, theoperations computing system 300 can determine whether the autonomousvehicle is autonomously re-positioning itself with respect a geographicarea. For example, the operations computing system 300 can obtain dataindicative of a vehicle's motion plan to determine whether theautonomous vehicle intends to travel to the geographic area asinstructed. Additionally, or alternatively, the operations computingsystem 300 can determine whether an autonomous vehicle has arrived at ageographic area based at least in part on location data (e.g., GPS data,etc.) associated with the autonomous vehicle. Additionally, oralternatively, an autonomous vehicle 345 and/or an associated vehicleprovider computing system 350 can communicate data to the operationscomputing system 300 indicating that the activation assignment 375 hasbeen accepted and/or that the autonomous vehicle 345 will undertake/isundertaking the activation assignment 375 (e.g., autonomously travellingto the requested geographic area). By way of example, the operationscomputing system 300 can obtain data (e.g., motioning planning data,location data, an acceptance communication, etc.) indicating that thefirst autonomous vehicle 405A is travelling to the first geographic area410A in accordance with the first activation assignment. The operationscomputing system 300 can obtain data indicating that the firstautonomous vehicle 405A is online with the service entity (e.g., datarequesting a vehicle service assignment for the first autonomousvehicle, a notification that the first autonomous vehicle is online,etc.) and that the first autonomous vehicle 405A is located within thefirst geographic area 410A.

The operations computing system can communicate data indicative of avehicle service assignment 330 for an autonomous vehicle 345. Forinstance, the operations computing system 300 can communicate dataindicative of a vehicle service assignment 330 to an autonomous vehicle345 that has been re-positioned to a geographic area, as instructed, andhas gone online with the associated service entity. The vehicle serviceassignment can be indicative of a requested vehicle service to beperformed at least in part within the geographic area. By way ofexample, with reference to FIG. 4, after confirming that the firstautonomous vehicle 405A has gone online within the first geographic area410A, the operations computing system 300 can communicate dataindicative of a first vehicle service assignment associated with thefirst geographic area 410A to the first autonomous vehicle 405A (and/ora vehicle provider computing system 350 associated therewith). The firstvehicle service assignment can include, for example, a request totransport a user from one location within the first geographic area 410Ato another. In this way, the operations computing system 300 can makesure that the first autonomous vehicle 405A, which has beenre-positioned while offline with the service entity, can obtain avehicle service assignment while online with the service entity (e.g.,reducing idle data usage).

In some implementations, the operations computing system 300 cansupplement the supply of autonomous vehicles within a geographic areawith one or more non-autonomous vehicles. For instance, in the eventthat a vehicle imbalance persists within the first geographic area 410A,the operations computing system 300 can request that one or morenon-autonomous vehicles (e.g., human-driven vehicles) be re-positionedto the first geographic area 410A. This can include non-autonomousvehicles that are online and/or offline with the service entity. Forexample, the operations computing system 300 can communicate dataindicative of a re-positioning assignment 380 (shown in FIG. 3) to auser device associated with a non-autonomous vehicle 435. There-positioning assignment 380 can request that an operator of thenon-autonomous vehicle 435 re-position the non-autonomous vehicle 435 tothe first geographic area 410A. The re-positioning assignment 380 canrequest that the non-autonomous vehicle 435 be re-positioned withrespect to the first geographic area 410A. In some implementations, there-positioning assignment 380 can include an incentive (e.g., afinancial incentive, etc.) to entice the operator of the non-autonomousvehicle 435 to accept the re-positioning assignment 380. In someimplementations, the re-positioning assignment 380 can request that thenon-autonomous vehicle 435 be re-positioned away from the geographicarea (e.g., to reduce vehicle supply in the event of a surplus), asfurther described herein.

In some implementations, the operations computing system 300 cande-activate one or more autonomous vehicles. Subsequent to obtainingdata indicating that an autonomous vehicle is online with the serviceentity, the operations computing system 300 can determine that anautonomous vehicle is to go offline with the service entity. Forinstance, the operations computing system 300 can obtain data indicatingthat an autonomous vehicle associated with a particular vehicle provideris required to undergo maintenance. The operations computing system 300can determine that these autonomous vehicles are to go offline with theservice entity based at least in part on such information. Theoperations computing system 300 can communicate data (e.g., to theautonomous vehicles, a vehicle provider computing system, etc.)indicating that the autonomous vehicle(s) are to go offline with theservice entity. In response, the autonomous vehicle can complete anycurrent vehicle service assignments, go offline with the service entity(e.g., so that the autonomous vehicle can no longer obtain vehicleservice assignments), and travel to a service depot, a based location,perform a pull-over maneuver, etc.

The operations computing system 300 can re-position more than oneoffline autonomous vehicle to more than one geographic area. Forexample, with reference to FIG. 4, the operations computing system 300can determine a second geographic area 410B within which a secondautonomous vehicle 405B is to go online with a service entity and asecond time parameter 415B indicative of when the second autonomousvehicle 405B is to go online with the service entity based at least inpart on the data 360 associated with the one or more autonomous vehiclesand the data 365 associated with the one or more geographic areas. Theoperations computing system 300 can communicate data indicative of asecond activation assignment associated with the second autonomousvehicle 405B. The second activation assignment can be indicative of atleast a portion of the second geographic area 410B and the second timeparameter 415B. For example, the second activation assignment canrequest that the second autonomous vehicle 405B re-position to (e.g.,autonomously travel to) a second location 420B within the secondgeographic area 405B and go online with a service entity at a timeindicated by the second time parameter 415B.

In some implementations, in the event of a surplus, the operationscomputing system 300 can decide that a vehicle should be moved away froma geographic area. For example, the first geographic area 410A (e.g.,the airport facility) may experience a lower level of demand for vehicleservices (e.g., a lower number of vehicle service requests). This can beoutweighed by the supply of vehicles within the first geographic area410A. As such, the operations computing system 300 can determine that anoffline autonomous vehicle should be re-positioned away from the firstgeographic area 410A before it goes online with the service entity. Forexample, the operations computing system 300 can provide a vehicleactivation assignment to an autonomous vehicle that requests that theautonomous vehicle be re-positioned to another geographic area (e.g.,second geographic area 410B) prior to going online with a serviceentity. Additionally, or alternatively, the operations computing system300 can communicate data indicative of a re-positioning assignment 380to an online autonomous vehicle or non-autonomous vehicle that is withinthe first geographic area 410A. Such a re-positioning assignment 380 canindicate that the vehicle is to be re-positioned away from the firstgeographic area 410A.

FIG. 5 depicts a flow diagram of an example method forcontrolling/re-positioning autonomous vehicles to reduce idle data usageand vehicle downtime according to example embodiments of the presentdisclosure. One or more portion(s) of the method 500 can be implementedby a computing system that includes one or more computing devices suchas, for example, the computing systems described with reference to theother figures (e.g., an operations computing system 225A-B, 300, avehicle provider computing system 210, 350, a vehicle computing system100, 340, etc.). Each respective portion of the method 500 can beperformed by any (or any combination) of one or more computing devices.Moreover, one or more portion(s) of the method 500 can be implemented asan algorithm on the hardware components of the device(s) describedherein (e.g., as in FIGS. 1-3 and/or 6), for example, tocontrol/re-position one or more autonomous vehicles. FIG. 5 depictselements performed in a particular order for purposes of illustrationand discussion. Those of ordinary skill in the art, using thedisclosures provided herein, will understand that the elements of any ofthe methods discussed herein can be adapted, rearranged, expanded,omitted, combined, and/or modified in various ways without deviatingfrom the scope of the present disclosure. FIG. 5 is described withreference to elements/terms described with respect to other systems andfigures for example illustrated purposes and is not meant to belimiting. One or more portions of method 500 can be performedadditionally, or alternatively, by other systems.

At (505), the method 500 can include obtaining data associated with oneor more offline autonomous vehicle(s). For instance, a first computingsystem (e.g., an operations computing system 300) can obtain dataassociated with one or more autonomous vehicles that are offline with aservice entity. As described herein, an offline autonomous vehicle canbe one that is not currently available to accept a vehicle serviceassignment, perform a vehicle service for the service entity, etc. Thefirst computing system can obtain data associated with a plurality ofautonomous vehicles that are offline with the service entity. Asdescribed herein, the data associated with the plurality of autonomousvehicles can include at least one of data indicative a preference of oneor more vehicle services that each respective autonomous vehicle isconfigured to perform, data indicative of whether each respectiveautonomous vehicle is included in a dedicated or non-dedicated supply ofthe service entity, data indicative of one or more geographicconstraints for each respective autonomous vehicle, data indicative ofone or more vehicle characteristics for each respective autonomousvehicle, data indicative of a performance rating for each respectiveautonomous vehicle, data indicative of a location of each respectiveautonomous vehicle, or data indicative of a configured preference toperform vehicle service pooling of each respective autonomous vehicle.

At (510), the method 500 can include obtaining data associated with oneor more geographic areas. For instance, the first computing system(e.g., the operations computing system 300) can obtain data associatedwith one or more geographic areas associated with the service entity.The geographic area(s) can be, for example, ones in which the serviceentity has offered, currently offers, and/or plans to offer vehicleservices. The data associated with the geographic area(s) can include,for example, at least one of data indicative of a demand for one or morevehicle services associated with the geographic area, data indicative ofa number of vehicles associated with the geographic area, dataindicative of a utilization rate for the vehicles associated with thegeographic area, data indicative of an event associated with thegeographic area, or data indicative of a weather condition associatedwith the geographic area.

At (515), the method 500 can include determining a geographic areawithin which an autonomous vehicle is to go online with the serviceentity. For instance, the first computing system (e.g., the operationscomputing system 300) can determine a first geographic area within whicha first autonomous vehicle is to go online with the service entity basedat least in part on the data associated with the one or more autonomousvehicles and the data associated with the one or more geographic areas.The first computing system can select the first autonomous vehicle fromamong the plurality of autonomous vehicles based at least in part on thedata associated with the plurality of autonomous vehicles. Thegeographic area may be predicted to have a vehicle imbalance. Asdescribed herein, the vehicle imbalance can include, for example, adeficit in the number of autonomous vehicles and/or non-autonomousvehicles available to perform one or more vehicle services within thefirst geographic area as compared to a demand for the one or morevehicles services within the first geographic area.

At (520), the method 500 can include determining a time at which theautonomous vehicle is to go online with the service entity. The firstcomputing system (e.g., the operations computing system 300) candetermine a first time parameter indicative of a time at which the firstautonomous vehicle is to go online with the service entity based atleast in part on the data associated with the one or more autonomousvehicles and the data associated with the one or more geographic areas.The first time parameter can be indicative of at least one of a futurepoint in time at which the autonomous vehicle is to go online with theservice entity or a future time period during which the autonomousvehicle is to go online with the service entity. The geographic area maybe predicted to have a vehicle imbalance during at least one of thefuture point in time or the future time period.

At (525), the method 500 can include communicating data indicative of anactivation assignment. For instance, the first computing system (e.g.,the operations computing system 300) can communicate data indicative ofa first activation assignment associated with the first autonomousvehicle. Such data can be communicated to a second computing system(e.g., a vehicle computing system, a vehicle provider computing system,etc.). As described herein, the first activation assignment can beindicative of at least a portion of the first geographic area and thefirst time parameter. For example, the first autonomous vehicle may benot located within the first geographic area (e.g., when it is determinethat the first autonomous vehicle should be re-positioned). The firstactivation assignment can indicate that the first autonomous vehicle bere-positioned within the first geographic area prior to going onlinewith the service entity. As such, the first autonomous vehicle cantravel to the first geographic area and then go online with the serviceentity after arriving within the first geographic area.

In some implementations, the first computing system can repeatoperations (515)-(525) to identify another autonomous vehicle foroffline repositioning. For example, the first computing system (e.g.,the operations computing system 300) can determine a second geographicarea within which a second autonomous vehicle is to go online with theservice entity and a second time parameter indicative of when the secondautonomous vehicle is to go online with the service entity based atleast in part on the data associated with the one or more autonomousvehicles and the data associated with the one or more geographic areas.The first computing system can communicate (e.g., to another computingsystem) data indicative of a second activation assignment associatedwith the second autonomous vehicle. The second activation assignment canbe indicative of at least a portion of the second geographic area (e.g.,to which the second autonomous vehicle is to travel) and the second timeparameter.

At (530), the method 500 can include confirming that the autonomousvehicle has been activated within the geographic area. For instance, thefirst computing system (e.g., the operations computing system 300) canobtain data indicating that the first autonomous vehicle is online withthe service entity and is located within the first geographic area, asdescribed herein. Accordingly, at (535), the first computing system cancommunicate data indicative of a first vehicle service assignment forthe first autonomous vehicle (e.g., to a vehicle computing system,vehicle provider computing system, etc.). The first vehicle serviceassignment can be indicative of a requested vehicle service (e.g., atransportation service) to be performed at least in part within thefirst geographic area.

In some implementations, at (540), the method 500 can includede-activating one or more of the autonomous vehicles that are onlinewith a service entity. For instance, subsequent to obtaining dataindicating that the first autonomous vehicle is online with the serviceentity, the first computing system (e.g., the operations computingsystem 300) can determine that the first autonomous vehicle is to gooffline with the service entity (e.g., due to scheduled maintenance), asdescribed herein. The first computing system can communicate dataindicating that the first autonomous vehicle is to go offline with theservice entity.

In some implementations, at (545), the method 500 can includere-positioning a non-autonomous vehicle with respect to a geographicarea. For instance, the first computing system (e.g., operationscomputing system 300) can communicate data indicative of are-positioning assignment to a user device associated with anon-autonomous vehicle associated with one or more vehicle services(e.g., a human driven vehicle online with the service entity to performone or more vehicle services). The re-positioning assignment can requestthat the non-autonomous vehicle be re-positioned with respect to thefirst geographic area. For example, in the event of a vehicle deficit,the re-positioning assignment can request that the operator of thenon-autonomous vehicle cause the non-autonomous vehicle to travel to thefirst geographic area. In the event of a vehicle surplus, there-positioning assignment can request that the operator of thenon-autonomous vehicle cause the non-autonomous vehicle to travel awayfrom the first geographic area.

FIG. 6 depicts an example system 600 according to example embodiments ofthe present disclosure. The example system 600 illustrated in FIG. 6 isprovided as an example only. The components, systems, connections,and/or other aspects illustrated in FIG. 6 are optional and are providedas examples of what is possible, but not required, to implement thepresent disclosure. The example system 600 can include a vehiclecomputing system 605 of a vehicle. The vehicle computing system 605 canrepresent/correspond to the vehicle computing systems 100, 340 describedherein. The example system 600 can include a remote computing system 650(e.g., that is remote from the vehicle computing system). The remotecomputing system 650 can represent/correspond to any of the operationscomputing systems (e.g., 225A-B, 300) described herein and/or thevehicle provider computing systems 210, 350 described herein. Thevehicle computing system 605 and the remote computing system 650 can becommunicatively coupled to one another over one or more network(s) 840.

The computing device(s) 610 of the vehicle computing system 605 caninclude processor(s) 615 and a memory 620. The one or more processors615 can be any suitable processing device (e.g., a processor core, amicroprocessor, an ASIC, a FPGA, a controller, a microcontroller, etc.)and can be one processor or a plurality of processors that areoperatively connected. The memory 620 can include one or morenon-transitory computer-readable storage media, such as RAM, ROM,EEPROM, EPROM, one or more memory devices, flash memory devices, dataregistrar, etc., and combinations thereof.

The memory 620 can store information that can be accessed by the one ormore processors 615. For instance, the memory 620 (e.g., one or morenon-transitory computer-readable storage mediums, memory devices)on-board the vehicle can include computer-readable instructions 625 thatcan be executed by the one or more processors 615. The instructions 625can be software written in any suitable programming language or can beimplemented in hardware. Additionally, or alternatively, theinstructions 625 can be executed in logically and/or virtually separatethreads on processor(s) 615.

For example, the memory 620 can store instructions 625 that whenexecuted by the one or more processors 615 cause the one or moreprocessors 615 (the vehicle computing system 605) to perform operationssuch as any of the operations and functions of the vehicle computingsystem 100 (or for which it is configured), one or more of theoperations and functions of the vehicle provider computing systems (orfor which it is configured), one or more of the operations and functionsof the operations computing systems described herein (or for which it isconfigured), one or more of the operations and functions forcontrolling/re-positioning a vehicle, one or more of the operations andfunctions for determining that the vehicle should be re-positioned, oneor more portions of method 500, and/or one or more of the otheroperations and functions of the computing systems described herein.

The memory 620 can store data 630 that can be obtained (e.g., acquired,received, retrieved, accessed, created, stored, etc.). The data 630 caninclude, for instance, sensor data, map data, vehicle state data,perception data, prediction data, motion planning data, data associatedwith a vehicle client, data associated with a service entity'stelecommunications network, data associated with an API, data associatedwith a library, data associated with library parameters, data associatedwith vehicle service incentives, data associated with activationassignments, data associated with re-positioning assignments, dataassociated with vehicle service assignments, data associated withacceptances and/or rejections of activation assignments and/or vehicleservice assignments, and/or other data/information such as, for example,that described herein. In some implementations, the computing device(s)610 can obtain data from one or more memories that are remote from thevehicle computing system 605.

The computing device(s) 610 can also include a communication interface635 used to communicate with one or more other system(s) on-board avehicle and/or a remote computing device that is remote from the vehicle(e.g., of the system 650). The communication interface 635 can includeany circuits, components, software, etc. for communicating via one ormore networks (e.g., network(s) 640). The communication interface 835can include, for example, one or more of a communications controller,receiver, transceiver, transmitter, port, conductors, software and/orhardware for communicating data.

The remote computing system 650 can include one or more computingdevice(s) 855 that are remote from the vehicle computing system 605. Thecomputing device(s) 655 can include one or more processors 660 and amemory 665. The one or more processors 660 can be any suitableprocessing device (e.g., a processor core, a microprocessor, an ASIC, aFPGA, a controller, a microcontroller, etc.) and can be one processor ora plurality of processors that are operatively connected. The memory 665can include one or more tangible, non-transitory computer-readablestorage media, such as RAM, ROM, EEPROM, EPROM, one or more memorydevices, flash memory devices, data registrar, etc., and combinationsthereof.

The memory 665 can store information that can be accessed by the one ormore processors 660. For instance, the memory 665 (e.g., one or moretangible, non-transitory computer-readable storage media, one or morememory devices, etc.) can include computer-readable instructions 670that can be executed by the one or more processors 660. The instructions670 can be software written in any suitable programming language or canbe implemented in hardware. Additionally, or alternatively, theinstructions 670 can be executed in logically and/or virtually separatethreads on processor(s) 660.

For example, the memory 665 can store instructions 670 that whenexecuted by the one or more processors 660 cause the one or moreprocessors 660 to perform operations such as any of the operations andfunctions of the operations computing systems 225A-B, 300 describedherein, any operations and functions of the vehicle provider computingsystems, any of the operations and functions for which the operationscomputing systems and/or the vehicle computing systems are configured,one or more of the operations and functions of the vehicle computingsystem 100 described herein, one or more of the operations and functionsfor controlling a vehicle, one or more of the operations and functionsfor determining a vehicle for re-positioning, one or more portions ofmethod 500, and/or one or more of the other operations and functionsdescribed herein.

The memory 665 can store data 675 that can be obtained. The data 675 caninclude, for instance, data associated with service requests,communications associated with/provided by vehicles, data to becommunicated to vehicles, application programming interface data, dataassociated with vehicles, data associated with geographic areas, dataindicative of vehicle imbalances, data associated with activationassignments data, data associated with re-positioning assignments, dataassociated with vehicle service incentives, data associated with vehicleservice assignments, data associated with acceptances and/or rejectionsof activation assignments, re-positioning assignments, and/or vehicleservice assignments, data associated with different service entities,data associated with fleet(s) of vehicles, and/or other data/informationsuch as, for example, that described herein. In some implementations,the computing device(s) 655 can obtain data from one or more memoriesthat are remote from the system 650 and/or are onboard a vehicle.

The computing device(s) 655 can also include a communication interface680 used to communicate with one or more system(s) onboard a vehicleand/or another computing device that is remote from the system 650. Thecommunication interface 680 can include any circuits, components,software, etc. for communicating via one or more networks (e.g.,network(s) 640). The communication interface 680 can include, forexample, one or more of a communications controller, receiver,transceiver, transmitter, port, conductors, software, and/or hardwarefor communicating data.

The network(s) 640 can be any type of network or combination of networksthat allows for communication between devices. In some embodiments, thenetwork(s) 640 can include one or more of a local area network, widearea network, the Internet, secure network, cellular network, meshnetwork, peer-to-peer communication link, and/or some combinationthereof and can include any number of wired or wireless links.Communication over the network(s) 640 can be accomplished, for instance,via a communication interface using any type of protocol, protectionscheme, encoding, format, packaging, etc.

Computing tasks, operations, and functions discussed herein as beingperformed at a vehicle (e.g., via the vehicle computing system) caninstead be performed by computing device(s) that are remote from thevehicle (e.g., via a vehicle provider computing system, an operationscomputing system, etc.), and/or vice versa. Moreover, operations, andfunctions discussed herein as being performed at a service entity (e.g.,via an operations computing system) can instead be performed by othercomputing device(s) such as, for example, those of the vehicle providercomputing system, etc. Such configurations can be implemented withoutdeviating from the scope of the present disclosure. The use ofcomputer-based systems allows for a great variety of possibleconfigurations, combinations, and divisions of tasks and functionalitybetween and among components. Computer-implemented operations can beperformed on a single component or across multiple components.Computer-implemented tasks and/or operations can be performedsequentially or in parallel. Data and instructions can be stored in asingle memory device or across multiple memory devices.

The communications between computing systems described herein can occurdirectly between the systems or indirectly between the systems. Forexample, in some implementations, the computing systems can communicatevia one or more intermediary computing systems. The intermediarycomputing systems may alter the communicated data in some manner beforecommunicating it to another computing system.

The number and configuration of elements shown in the figures is notmeant to be limiting. More or less of those elements and/or differentconfigurations can be utilized in various embodiments.

While the present subject matter has been described in detail withrespect to specific example embodiments and methods thereof, it will beappreciated that those skilled in the art, upon attaining anunderstanding of the foregoing can readily produce alterations to,variations of, and equivalents to such embodiments. Accordingly, thescope of the present disclosure is by way of example rather than by wayof limitation, and the subject disclosure does not preclude inclusion ofsuch modifications, variations and/or additions to the present subjectmatter as would be readily apparent to one of ordinary skill in the art.

What is claimed is:
 1. A computing system comprising: one or moreprocessors; and one or more tangible, non-transitory, computer readablemedia that collectively store instructions that when executed by the oneor more processors cause the computing system to perform operationscomprising: obtaining data associated with an autonomous vehicle that isoffline with a service entity; obtaining data associated with ageographic area associated with the service entity; determining that theautonomous vehicle is to go online with the service entity within thegeographic area based at least in part on the data associated with theautonomous vehicle and the data associated with the geographic area; andcommunicating data indicative of an activation assignment associatedwith the autonomous vehicle, wherein the activation assignment isindicative of at least a portion of the geographic area within which theautonomous vehicle is to go online with the service entity.
 2. Thecomputing system of claim 1, wherein the autonomous vehicle is notlocated within the geographic area, and wherein the activationassignment indicates that the autonomous vehicle be re-positioned withinthe geographic area prior to going online with the service entity. 3.The computing system of claim 1, wherein the operations furthercomprise: determining a time parameter based at least in part on thedata associated with the autonomous vehicle and the data associated withthe geographic area, wherein the time parameter is indicative of atleast one of a point in time at which the autonomous vehicle is to goonline with the service entity or a time period during which theautonomous vehicle is to go online with the service entity.
 4. Thecomputing system of claim 3, wherein determining that the autonomousvehicle is to go online with the service entity within the geographicarea comprises: predicting that the geographic area will have a vehicleimbalance during at least one of the point in time at which theautonomous vehicle is to go online with the service entity or the timeperiod during which the autonomous vehicle is to go online with theservice entity.
 5. The computing system of claim 4, wherein the vehicleimbalance comprises a deficit in a number of vehicles available toperform one or more vehicle services as compared to a demand for the oneor more vehicles services.
 6. The computing system of claim 1, whereinthe operations further comprise: obtaining data indicating that theautonomous vehicle is online with the service entity and is locatedwithin the geographic area; and communicating data indicative of avehicle service assignment for the autonomous vehicle, wherein thevehicle service assignment is indicative of a requested vehicle serviceto be performed at least in part within the geographic area.
 7. Thecomputing system of claim 6, further comprising: subsequent to obtainingdata indicating that the autonomous vehicle is online with the serviceentity, determining that the autonomous vehicle is to go offline withthe service entity; and communicating data indicating that theautonomous vehicle is to go offline with the service entity.
 8. Thecomputing system of claim 1, wherein the data associated with theautonomous vehicle comprises at least one of data indicative of apreference of one or more vehicle services that the autonomous vehicleis configured to perform, data indicative of whether the autonomousvehicle is included in a dedicated or non-dedicated supply of theservice entity, data indicative of one or more geographic constraintsfor the autonomous vehicle, data indicative of one or more vehiclecharacteristics for the autonomous vehicle, data indicative of aperformance rating for the autonomous vehicle, data indicative of alocation of the autonomous vehicle, or data indicative of a configuredpreference to perform vehicle service pooling by the autonomous vehicle.9. The computing system of claim 1, wherein the data associated with thegeographic area comprises at least one of data indicative of a demandfor one or more vehicle services associated with the geographic area,data indicative of a number of vehicles associated with the geographicarea, data indicative of a utilization rate for the vehicles associatedwith the geographic area, data indicative of an event associated withthe geographic area, or data indicative of a weather conditionassociated with the geographic area.
 10. A computer-implemented methodfor controlling autonomous vehicle activation, comprising: obtaining, bya computing system that comprises one or more computing devices, dataassociated with one or more autonomous vehicles that are offline with aservice entity; obtaining, by the computing system, data associated withone or more geographic areas associated with the service entity;determining, by the computing system, a first geographic area withinwhich a first autonomous vehicle is to go online with the service entityand a first time parameter indicative of a time at which the firstautonomous vehicle is to go online with the service entity based atleast in part on the data associated with the one or more autonomousvehicles and the data associated with the one or more geographic areas;and communicating, by the computing system, data indicative of a firstactivation assignment associated with the first autonomous vehicle,wherein the first activation assignment is indicative of at least aportion of the first geographic area and the first time parameter. 11.The computer-implemented method of claim 10, wherein the firstautonomous vehicle is not located within the first geographic area, andwherein the first activation assignment indicates that the firstautonomous vehicle be re-positioned within the first geographic areaprior to going online with the service entity.
 12. Thecomputer-implemented method of claim 10, wherein the first timeparameter is indicative of at least one of a future point in time atwhich the first autonomous vehicle is to go online with the serviceentity or a future time period during which the first autonomous vehicleis to go online with the service entity, and wherein the firstgeographic area is predicted to have a vehicle imbalance during at leastone of the future point in time or the future time period.
 13. Thecomputer-implemented method of claim 12, wherein the vehicle imbalancecomprises a deficit in a number of non-autonomous vehicles available toperform one or more vehicle services within the first geographic area ascompared to a demand for the one or more vehicles services within thefirst geographic area.
 14. The computer-implemented method of claim 10,wherein obtaining, by the computing system, data associated with one ormore autonomous vehicles that are offline with the service entitycomprises obtaining, by the computing system, data associated with aplurality of autonomous vehicles that are offline with the serviceentity; wherein determining, by the computing system, the firstgeographic area within which the first autonomous vehicle is to goonline with the service entity comprises selecting, by the computingsystem, the first autonomous vehicle from among the plurality ofautonomous vehicles based at least in part on the data associated withthe plurality of autonomous vehicles; and wherein the data associatedwith the plurality of autonomous vehicles comprises at least one of dataindicative a preference of one or more vehicle services that eachrespective autonomous vehicle is configured to perform, data indicativeof whether each respective autonomous vehicle is included in a dedicatedor non-dedicated supply of the service entity, data indicative of one ormore geographic constraints for each respective autonomous vehicle, dataindicative of one or more vehicle characteristics for each respectiveautonomous vehicle, data indicative of a performance rating for eachrespective autonomous vehicle, data indicative of a location of eachrespective autonomous vehicle, or data indicative of a configuredpreference to perform vehicle service pooling of each respectiveautonomous vehicle.
 15. The computer-implemented method of claim 10,further comprising: communicating, by the computing system, dataindicative of a re-positioning assignment to a user device associatedwith a non-autonomous vehicle associated with one or more vehicleservices, wherein the re-positioning assignment is indicative of arequest that the non-autonomous vehicle be re-positioned with respect tothe first geographic area.
 16. The computer-implemented method of claim10, further comprising: determining, by the computing system, a secondgeographic area within which a second autonomous vehicle is to go onlinewith the service entity and a second time parameter indicative of whenthe second autonomous vehicle is to go online with the service entitybased at least in part on the data associated with the one or moreautonomous vehicles and the data associated with the one or moregeographic areas; and communicating, by the computing system, dataindicative of a second activation assignment associated with the secondautonomous vehicle, wherein the second activation assignment isindicative of at least a portion of the second geographic area and thesecond time parameter.
 17. One or more tangible, non-transitory,computer-readable media that collectively store instructions that, whenexecuted by one or more processors, cause the one or more processors toperform operations, the operations comprising: obtaining data associatedwith a plurality of autonomous vehicles that are offline with a serviceentity; obtaining data indicative of a geographic area associated withthe service entity; determining that at least a subset of the pluralityof autonomous vehicles are to go online with the service entity withinthe geographic area based at least in part on the data associated withthe plurality of autonomous vehicle and the data indicative of thegeographic area; and communicating data indicative of one or moreactivation assignments associated with at least the subset of theplurality of autonomous vehicles, wherein the one or more activationassignments are indicative of at least a portion of the geographic area.18. The one or more tangible, non-transitory, computer-readable media ofclaim 17, wherein the plurality of autonomous vehicles are associatedwith a vehicle provider, and wherein communicating the data indicativeof the one or more activation assignments comprises communicating thedata indicative of the one or more activation assignments to a computingsystem associated with the vehicle provider.
 19. The one or moretangible, non-transitory, computer-readable media of claim 17, whereinthe one or more activation assignments are indicative of a request forat least the subset of autonomous vehicles to re-position within thegeographic area prior to going online with the service entity within thegeographic area.
 20. The one or more tangible, non-transitory,computer-readable media of claim 17, wherein the one or more activationassignments are indicative of a vehicle service incentive associatedwith the re-positioning of the subset of autonomous vehicles to thegeographic area.